'분류 전체보기'에 해당되는 글 215건

  • 2018.11.15 nginx 502 bad request
  • 2018.10.10 무료 인증서 발급 및 적용
  • 2018.09.19 django + gunicorn + nginx 구축1
  • 2018.08.29 nginx 특정 폴더 접근 제한
  • 2018.08.29 nginx 재시작이 안 될때
  • 2018.08.21 mysql 초기화
  • 2018.08.14 nginx rewrite 설정
  • 2018.07.09 composer 사용 관련
  • 2018.06.27 git 사용법
  • 2018.06.24 rsync 사용법

sudo sysctl -a | grep somaxconn

소켓 커넥션 수 확인


기본이 128임...


php-fpm.conf에서

listen.backlog 설정된 값이랑 맞춰줘야함


예를들어 65536으로 설정되어있다면

sudo sysctl -w net.core.somaxconn=65536 해주고


php-fpm 다시 시작!



'프로그래밍 > Server' 카테고리의 다른 글

무료 인증서 발급 및 적용  (0) 2018.10.10
nginx 특정 폴더 접근 제한  (0) 2018.08.29
nginx 재시작이 안 될때  (0) 2018.08.29
nginx rewrite 설정  (0) 2018.08.14
git 사용법  (0) 2018.06.27
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

shell을 사용 할 수 있는 경우


https://certbot.eff.org/


에 각 환경에 맞는 설치방법을 확인 한 후 설치 진행


* nginx를 사용 할 경우

certbot --nginx 해주면 알아서 자동으로 nginx 설정에 추가까지 해줌



* 인증서만 발급 받길 원하면

certbot certonly --webroot -w /var/www/challenge --cert-name 폴더명 -d example.com,*.example.com


* 인증서 갱신

certbot renew


90일 이전에는 갱신 할 수 없음


* 강제로 갱신 할 경우

certbot renew --force-renewal


* 인증서 확인

certbot certificates




'프로그래밍 > Server' 카테고리의 다른 글

nginx 502 bad request  (0) 2018.11.15
nginx 특정 폴더 접근 제한  (0) 2018.08.29
nginx 재시작이 안 될때  (0) 2018.08.29
nginx rewrite 설정  (0) 2018.08.14
git 사용법  (0) 2018.06.27
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

django 2.1 버전

python 3.6.x


로컬에서

django 프로젝트를 pycharm을 사용해서


만들어주고


git 사용해서 버전관리


python3 manage.py startapp app이름


해서 앱 만들어주고 settings.py에 추가


settings.py에

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')


추가


gunicorn 설치

pip install gunicorn


gunicorn 설치 후 서비스에 등록해주기

/etc/systemd/system에

gunicorn.service 만들기


[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=프로젝트루트
ExecStart=/usr/local/bin/gunicorn \
--workers 7 \
--bind unix:/프로젝트루트/프로젝트명.sock \

프로젝트명.wsgi:application

[Install]
WantedBy=multi-user.target


User, Group은 사용할 계정과 그룹으로 지정하고

WorkingDirectory는 프로젝트루트로


django 사용해 보신분들은 이해하실듯

프로젝트루트밑에 프로젝트명으로 폴더 하나더있는데 프로젝트루트 경로로 해야함

bind 시킬 위치는 저 위치로 안해도 상관없음 나중에 nginx에서 경로 잘 설정해주면 됨

wsgi.py가 있는 프로젝트명폴더가 abc면

abc.wsgi:application으로 해야함


통상 워커 수는

1 + 2 * 코어수


위와 같이 만든 후


sudo systemctl enable gunicorn 하면

스크립트에 설정된 multi-user.taget 디렉토리에

심볼릭링크가 걸림


링크 만들어지는거 확인하고

sudo systemctl start gunicorn

sudo systemctl status gunicorn 해서

active 상태인지 확인하기


active 상태이면

nginx 설정


/etc/nginx/site-available에서

설정 하나 만든 후 /etc/nginx/site-enabled에 ln -s로 심볼릭링크걸기


서버 블락 밑에

location /static {

          alias /static폴더 경로;

}


location / {

          include proxy_params;

          proxy_pass http://unix:bind시킨소켓경로

}


static 경로는 위에 settings.py에서 설정한 경로이고

static 폴더를 생성 하려면 python3 manage.py collectstatic 해주면 자동으로 생성됨


간혹 static 폴더를 찾을 수 없다하는데

설정이 제대로 되어있는지 확인하기


location /static/ 이렇게 스면 안되고 /static으로

root 로 static 경로를 지정해주는 경우가 있는데 alias로

static 폴더 퍼미션 확인하기


// 그 외
pycharm을 사용 할 경우
상단 메뉴중에
File -> Settings -> Project Interpreter에서 원격으로 쉽게 패키지 추가 할 수 있음

코드를 수정하고 git pull로 배포 한 후

sudo systemctl restart gunicorn을 해야 반영이 됨


Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

* 특정폴더 전부 접근 제한 하려면

location ^~ /특정폴더/ {

deny all;

return 403;

}



* 특정폴더 내 php 파일만 접근 제한 하려면

location / {


location ~ \.php$ {

if ($uri ~* /특정폴더/(.+)\.php) {

return 403;

}

}

'프로그래밍 > Server' 카테고리의 다른 글

nginx 502 bad request  (0) 2018.11.15
무료 인증서 발급 및 적용  (0) 2018.10.10
nginx 재시작이 안 될때  (0) 2018.08.29
nginx rewrite 설정  (0) 2018.08.14
git 사용법  (0) 2018.06.27
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

/var/log/error.log 살펴보고


bind() to 0.0.0.0:80 failed

이면

sudo fuser -k 80/tcp 

한 후 

service nginx start


'프로그래밍 > Server' 카테고리의 다른 글

무료 인증서 발급 및 적용  (0) 2018.10.10
nginx 특정 폴더 접근 제한  (0) 2018.08.29
nginx rewrite 설정  (0) 2018.08.14
git 사용법  (0) 2018.06.27
rsync 사용법  (0) 2018.06.24
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

mysqld --initialize --user=mysql --datadir=폴더지정


mysql 설정 파일에서

error로그 지정한 파일에 임시 비밀번호가 표시됨

지정한 폴더 경로로

datadir 수정해주기


임시비번으로 접속하면

비번을 우선 변경해야 다른 명령어를 수행 가능함

SET PASSWORD = PASSWORD("비번");


* 외부 접속이 되지 않으면 아래와 같이 셋팅이 되어있는지 확인

[mysqld]

bind-address = 0.0.0.0

port = 3306


Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.


도메인 location / 이외에 다른 주소로 올 때 redirect 시키기


if ($uri !~ "^/$") {

return 301 $scheme://www.다른도메인.com$uri;

}


return 대신 rewrite를 써도되는데 return이 좀 더 명시적

'프로그래밍 > Server' 카테고리의 다른 글

nginx 특정 폴더 접근 제한  (0) 2018.08.29
nginx 재시작이 안 될때  (0) 2018.08.29
git 사용법  (0) 2018.06.27
rsync 사용법  (0) 2018.06.24
php-fpm 설정 관련  (0) 2018.05.24
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

* namespace를 사용해서 작업을 해야하는 경우


클래스 정의 할 때 namespace 선언


ex)

namespace Module\Test;


class TestClass {

}


ex) module/test.php

사용할 php파일 상단에는 아래와 같이 추가

require_once("vendor/autoload.php의 절대경로");


이렇게 하고 사용하면

class not found 예외가 뜰 거임!!


composer.json에


namespace 관련 정의 추가


"autoload": {
"psr-4": {
"Module\\": "module/"
}
},

위에 정의한 클래스를 사용할 php파일 경로는 module/ 하위에 위치해야함


선언하고 php composer.phar install 해서 


* composer가 설치가 되지 않은 경우

phpstorm을 사용할 경우 Tools->Composer->Init Composer


vendor/composer/autoload_psr4.php, autoload_static.php 등 갱신해줌

Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

자주쓰는 명령어들


git remote update 리모트 브랜치 목록 갱신


git checkout 브랜치명 브랜치 checkout


git branch 현재 checkout된 브랜치


git branch -r 로컬 브랜치 리스트


git stash 리모트랑 현재 로컬이랑 충돌이 난경우 머지를 하지않고 stash 할 수 있음



https://blog.outsider.ne.kr/788


'프로그래밍 > Server' 카테고리의 다른 글

nginx 재시작이 안 될때  (0) 2018.08.29
nginx rewrite 설정  (0) 2018.08.14
rsync 사용법  (0) 2018.06.24
php-fpm 설정 관련  (0) 2018.05.24
우분투 관련 정리용  (0) 2018.05.09
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.

rsync -aAHxvz --exclude '제외할 폴더' src dst


a 압축모드

A ACLs

H hard link

x one file system

v verbose

z zip


ex ) src에서 dst로

sudo rsync -aAHxvz / --include=/home/* --exclude={"/root/*","/boot/*","/etc/network/*","/etc/fstab","/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} root@111.222.333.444:/


a 압축모드에서 user, group 를 그대로 가져가려면 꼭 sudo를 해야함



'프로그래밍 > Server' 카테고리의 다른 글

nginx 재시작이 안 될때  (0) 2018.08.29
nginx rewrite 설정  (0) 2018.08.14
git 사용법  (0) 2018.06.27
php-fpm 설정 관련  (0) 2018.05.24
우분투 관련 정리용  (0) 2018.05.09
Posted by ㅇ_ㅎ
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.