스마트에디터를 연동했는데, /smarteditor28/SmartEditor2Skin.html 해당 파일 접근이 안된다고 나온다.

 

해당 폴더에 권한도 줘봤지만 무용지물

 

찾아보니 PHP-FPM 보안 문제라고 한다.

 

기본적으로 보안을 위해 PHP 확장자 파일만 열수있다.

 

그래서 보안을 허용하는 로직을 주석 해제 해야한다.

 

php 설정파일 접근

cd /etc/php/7.4/fpm/pool.d/www.conf

 

소스를 찾아 주석을 해체하거나 추가해 준다.

security.limit_extensions = .php .php3 .php4 .php5 .php7 .html .htm

 

마지막으로 재기동

service php7.4-fpm restart

단일 리플리케이션일 경우 MYSQL이랑 방법은 같지만, MSR일 경우는 명령어가 다르다.

 

MYSQL은 FOR CHENNER로 닉네임을 지정하면 되지만, Maria는 아래와 같이 설정해야 한다.

CHANGE MASTER '닉네임' TO MASTER_HOST='IP', MASTER_PORT=포트, MASTER_USER='아이디', MASTER_PASSWORD='패스워드', MASTER_LOG_FILE='mariadb-bin.000917', MASTER_LOG_POS=59510159;

 

 

 

'DB' 카테고리의 다른 글

MYSQL 덤프 completed 했지만, 실제로 값이 없는경우  (0) 2023.02.15

신규 서버를 세팅하면서, NodeJs와 Mysql을 연동하는데 자꾸 커넥션이 안됐다.

처음에는 권한쪽을 모두 살펴봤는데, 아무 이상없다.

 

그렇게 몇시간 삽질하다가 passwd 플러그인 문제일수도 있다는 글을 보았다.

 

 

select host, user, plugin, authentication_string from mysql.user;

이렇게 쿼리를 날렸을때 해당 계정의 플러그인이 caching_sha2_password 이라면 안된다.

 

ALTER USER '계정ID'@'%' IDENTIFIED WITH mysql_native_password BY '패스워드';

위와 같이 mysql_native_password 로 변경해줘야한다.

 

바꾸니 잘된다;;;

 

 

MYSQL 덤프 EXPORT

mysqldump  --routines --triggers -uroot -p database_name > /dump/dump.sql

 

MYSQL 덤프 IMPORT

mysqldump -uroot -p database_name < /dump/dump.sql

 

이게 일반적인 DUMP 방식이다.

 

하지만, 가끔 로그에는 성공했다고 뜨지만 실제로 값이 안들어가는 경우가 있다.

그럴때는 아래와 같이 명령어를 적으면 된다.

mysql -uroot -p database_name -e "source /dump/dump.sql"

 

당연히 Root 권한으로 실행해야한다.

'DB' 카테고리의 다른 글

MariaDB MSR(multi source replication) 설정  (0) 2023.02.23

직접 패치하다 보면, 중요 설정파일은 잘못 올릴 수도 있기 때문에 서버에서 따로 관리해야 합니다.

스크립트 파일로 한 번에 관리하면 쉽게 패치가 가능합니다.

 

dist.sh

echo "************************************"
echo "**start date: " `date +"%Y-%m-%d %H:%M:%S"`
echo "************************************"
echo "**sync source"

echo "git pull..."
cd test1
git pull origin main # Branch 지정

echo "reconfiguration files..."
cp -f /home/test/reconfig/* /home/server/test/config/  # 패치 후 기존 설정파일을 덮어씌운다. 
          
echo "copy source to wwwroot..."

echo "******************************************"
echo "**finished date: " `date +"%Y-%m-%d %H:%M:%S"`
echo "******************************************"

exit 0

 

 

스크립트 실행

sudo ./dist.sh

 

PM2 로그 경로 설정 명령어

sudo pm2 start --name test -o /data/test/test.log -e /data/test/test_error.log app.js

하지만 로그 경로가 바뀌거나 하면, 다시 명령어를 쳐야 하는 문제가 존재합니다.

 

아래와 같이 설정파일을 생성하면 쉽게 관리가 가능합니다.

ecosystem.config.js

module.exports = {
  apps : [{
    name: 'test',
    script: './test/app.js',
    instances: 1,
    exec_mode: "cluster",
    autorestart: true,
    watch: false,
    output:"/data/test/test-out.log",
    error:"/data/test/test-error.log",
    env_production: {
      NODE_ENV: "production",
    }
  }],

  config : {
	days_interval : 2,
        max_size : 10
  },

  deploy : {
    production : {
      user : 'SSH_USERNAME',
      host : 'SSH_HOSTMACHINE',
      ref  : 'origin/master',
      repo : 'GIT_REPOSITORY',
      path : 'DESTINATION_PATH',
      'pre-deploy-local': '',
      'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production',
      'pre-setup': ''
    }
  }
};

 

위와 같이 파일을 만들고 해당 경로에서 아래와 같이 PM2를 실행하면 됩니다.

sudo pm2 start --only test

 

비동기와 멀티스레드는 같은 뜻이 아닙니다.

해당 의미를 정확하게 이해해야 업무에 큰 도움이 됩니다. (제가 그랬어요..)

 

의미를 간단하게 정리하자면 아래와 같습니다.

동기=  순서 

스레드= 공간 or 일꾼

 

그럼 이제, 하나씩 살펴보겠습니다.

 

동기: 순차적으로 실행되는 것

비동기: 요청은 받은 뒤 먼저 작업이 끝난 순으로 실행되는 것

 

 

단일스레드: 프로세스가 단일로 동작하는 것

    대표적인예로 자바스크립트가 단일스레드 언어입니다.

멀티스레드: 프로세스가 다중으로 동작하는 것

 

경우의 수가 아래와 같이 총 4개가 있습니다.

  1. 단일 스레드 — 동기
  2. 멀티 스레드 — 동기
  3. 단일 스레드 — 비동기
  4. 멀티 스레드 — 비동기

 

이해하기 쉽게 식당으로 예시를 들어보겠습니다.

 

1. 단일 스레드 — 동기

  본점에서 음식을 주문 -> 조리 완료 -> 다음 주문받음

 

2. 멀티 스레드 — 동기

   본점,1호점,2호점 중 한곳에서 음식을 주문 -> 조리 완료 -> 다음 주문받음

 

3. 단일 스레드 — 비동기

   본점에서 음식을 주문 -> 조리 및 주문받기 -> 조리가 빠른 순서대로 제공

 

4. 멀티 스레드 — 비동기

    본점,1호점,2호점 중 한 곳에서 음식을 주문 -> 조리 및 주문받기 ->  조리가 빠른 순서대로 제공

 

요즘 웹사이트는 비동기로 만들어지는 추세입니다.

 

지금까지의 설명을 들어보면 멀티 스레드 — 비동기 가 제일 좋아 보이지만,

코드가 복잡해지고 공수도 많이 발생하게 됩니다.

 

고객의 니즈를 정확하게 파악하여 상황에 맞게 선택하시길 바랍니다.

'웹 (web)' 카테고리의 다른 글

스마트에디터 Access denied 오류 해결  (0) 2023.05.25
NodeJs, mysql과 연동시 에러  (0) 2023.02.22
서버 패치 스크립트로 쉽게 관리하기  (0) 2023.01.25
PM2 로그 설정 쉽게 하기  (0) 2023.01.25
그누보드 소개  (0) 2017.08.26

2019년은 저에게 있어 제일 바쁘면서도 중요했던 시기였습니다.

많은 것을 배우고 많은 목표들을 이루었습니다. 한번 이야기들을 풀어보려 합니다.

 

1월

엠파이어 스테이트 빌딩

저의 첫 해외여행을 갔는데 이왕 가는 거 멀리 가자 라는 생각으로 뉴욕을 택했습니다.

뉴요커들은 실제로 보니 세련되고 멋있다는 생각이 들었습니다.

제일 힘들었던건 왕복 30시간을 비행기에서 보내는 거죠..

다음번에는 비즈니스 좌석을 예매해야겠습니다 (_ _)

 

(여행 일정과 자세한 내용은 추후에 따로 포스팅하겠습니다.)

 

2월~5월

 

이 시기에는 정말 자격증 공부랑 시험공부만 했던 거 같습니다.

아무런 경험이 없는 저의 실력을 증명하는 방법은 자격증밖에 없다고 생각했기 때문입니다.

지금 생각해보면 다른 방법들도 많은데 말이죠

일단 저는 정보처리기능사를 따고 바로 정보기기 운용기능사 시험을 준비했습니다.

아쉽게도 실기시험 때 실수를 해서 떨어졌습니다. 그때가 제가 처음으로 실패를 느낀 거 같습니다.

 

 

6월

 

다니고 있는 회사에서 유니티를 사용하는데

저의 실력에 부족함을 느껴 개인 프로젝트를 진행했습니다.

방학 동안 쉬지 않고 매일 6시간씩 카페, 집에서 개발을 했습니다.

제가 만든 게임은 1인칭 FPS입니다.

기획까지 하며 제대로 된 프로젝트를 만들어본 건 처음이었습니다.

정말 오류도 많았고 지금도 버그들이 많습니다.

실력이 부족해 만족스러운 결과물이 나오지는 못했지만

도움을 받지 않고 제 스스로 만들었다는 것이 의미 있던 프로젝트였습니다.

나중에 시간이 된다면 더 많은 기능들을 추가할 계획입니다.

(개발과정과 시행착오 등은 추후에 따로 포스팅하겠습니다.)

 

7월~9월

정보처리 산업기사를 준비했습니다.

외울 것도 많고 직접 코드까지 짜야했기 때문에 2달간 정말 열심히 공부했던 기억이 납니다.

다행히 한 번에 붙어 기분 좋게 자격증 공부를 마무리했습니다.

 

10월

 

잠시 시간이 비어 면허 공부를 했습니다.

1종, 2종 고민을 많이 했는데 비교적 쉬운 2종을 택했습니다.

필기는 60점 합격에 90점, 기능은 70점 합격에 100점을 받았습니다 ☆

 

하지만 도로주행에서 코스를 이탈해 실격됐습니다 ㅠㅠ (영원한 길치)

다시 재시험을 봐서 면허증을 발급받았습니다.

출퇴근 때 운전을 하는데 대중교통보다 매우 편해서 만족하고 있습니다.

 

11월

 

처음으로 회사를 다니면서 과제를 받았습니다.

저번까지는 선배님들 개발하시는 거 보며 도와만 드렸는데

제가 직접 과제에 참여하는 건 이번에 처음이라 설레기도 하면서 

기간 내에 못 끝내 회사에 폐를 끼치면 어쩌지? 같은 걱정도 많이 했습니다.

 

다행히도 막히거나 어려운 부분이 있을 때마다 선배님들이 도와주셔서

문제없이 과제를 마무리했습니다.

 

12월

정식당

19년도를 마무리 하자는 생각으로 맛있는 것도 먹으러 다니고

그동안 연락 못했던 친구들과도 만나 못했던 얘기들을 나누었습니다.

곧 있으면 벌써 2020년이라는 게 실감이 안 납니다..

 

 

반성

 

커뮤니티 활동을 자주 못했다.

    작년에는 세미나, 컨퍼런스 같은 행사도 자주 가고 많은 개발자들과의 교류를 했는데

    올해는 거의 하지 못한 것이 아쉽게 느껴집니다.

 

블로그 관리를 못했다.

    매일은 아니더라도 1주일에 한 번은 꼭 블로그에 게시글을 작성하려고 다짐했지만

    결국 실패했습니다 

 

 

 

내년 목표

 

● 영어공부 하기

 

● 좋은 코딩 습관 가지기

 

● 커뮤니티 활동 많이 하기

 

 

2020년에는 계획을 세워 열심히 공부해야겠습니다.

긴 글 읽어주셔서 감사합니다!

'뉴스' 카테고리의 다른 글

TeamH4c 팀원 모집 [07.8일 까지]  (0) 2018.06.22
TeamH4c 팀원 모집 [마감]  (0) 2017.09.26
Tokyo CTF 2017 진행중  (0) 2017.09.02

https://learn.unity.com/projects

 

Unity Learn

Unity Learn provides award-winning free tutorials, sample projects, and full courses for mastering real-time 3D development skills with Unity Learn to make video games, VR, AR, and more.

learn.unity.com

 

유니티에서 제공하는 자습서 입니다.

 

초보자들이 쉽게 이해 할 수 있도록 챕터식으로 진행 됩니다.

 

C#를 따로 공부 하지 않아도 이 자습서는 기초부터 진행 하기때문에 걱정 안하셔도 됩니다.

 

들어가시면 챕터가 나옵니다.

 

시작하기를 눌러 처음부터 천천히 따라하시면 됩니다.

영어로 되어있으나 저희에게는 번역기가 있습니다 (_ _)

 

조립 후 혹은 갑자기 마우스, 모니터, 키보드 불이 안들어오거나
계속 1초마다 재부팅 되는 현상이 생길 경우 대부분은 램 문제 입니다.

그런 경우 램을 지우개로 지우면 해결 됩니다.


사진처럼 금속 부분을 지우개로 양쪽 다 지우면 됩니다.

만약 그렇게 해도 안된다면 램 혹은
램 슬롯 고장일 확률이 높습니다.

램 한개를 1,2,3,4 한번씩 다 끼워보세요.
만약 그래도 안된다면 램 또는 램 슬롯 전체가  고장난거고

4개 슬롯중 3개만 된다면 램슬롯 고장이니 as 받으시면 됩니다.

+ Recent posts