Nginx + Gunicon + Django 웹 사이트 배치

4609 단어
1. Django pip isntall django = = 1.9.5 2 를 설치 하고 Nginx yum - y install nginx 3 를 설치 하 며 부팅 으로 설정 하고 nginx 서 비 스 를 수 동 으로 시작 합 니 다: chkconfig nginx on service nginx start
4. etc / nginx / nginx. conf 사용자 루트 수정;5, 그리고 설치 gunicorn: pip install gunicorn 6, blogprocject 아래 새 gunicorn 설정 파일 gunicorn. conf. py workers 는 작업 스 레 드 수 입 니 다. 일반적으로 서버 CPU 개수 + 1 import multiprocessing 으로 설정 합 니 다.
bind = "127.0.0.1:8080" workers = 2 errorlog = '/home/shawn/blog_project/gunicorn.error.log'
accesslog = './gunicorn.access.log'
loglevel = 'debug'
proc_name = 'gunicorn_blog_project'
7. 설정 파일 / etc / nginx. conf
For more information on configuration, see:
* Official English Documentation: http://nginx.org/en/docs/
* Official Russian Documentation: http://nginx.org/ru/docs/
user root; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid;
events { worker_connections 1024; }
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
access_log  /var/log/nginx/access.log  main;

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   65;
types_hash_max_size 2048;

include             /etc/nginx/mime.types;
default_type        application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;



server {
    listen       80;
    #listen       [::]:80 default_server;
    server_name  _;
    #root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
         #try_files @uri @hua_shan; 
         proxy_pass http://127.0.0.1:5000;
         proxy_redirect default;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection $http_connection;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $http_host;
    }
    #location @hua_shan { 
    #      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    #      proxy_set_header Host $http_host; 
    #      proxy_pass http://127.0.0.1:5000; 
    #} 


    #error_page 404 /404.html;
    #    location = /40x.html {
    #}

    #error_page 500 502 503 504 /50x.html;
    #    location = /50x.html {
    #}
}

server {
    listen       8080;
    #listen       [::]:80 default_server;
    server_name  _wn;
    #root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
         #try_files @uri @hua_shan;
         proxy_pass http://127.0.0.1:5001;
         proxy_redirect default;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection $http_connection;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $http_host;
    }
}
server {
 listen 81; #    
 server_name -;  
 access_log /home/wuwg/huashanjxhfc/nginx.access.log;
 error_log /home/wuwg/huashanjxhfc/nginx.error.log;

 location / {
     proxy_pass http://127.0.0.1:8000; #     ip
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }

 location /robots.txt {
    alias /home/wuwg/huashanjxhfc/static/robots.txt;
 }

 location /favicon.ico {
      alias /home/wuwg/huashanjxhfc/static/img/favicon.ico;
 }

 location ~ ^/(media|static)/  {
     root    /home/wuwg/huashanjxhfc;
     expires 30d;
 }


 # this prevents hidden files (beginning with a period) from being served
  location ~ /\. { 
    access_log off; log_not_found off; deny all;
 }

}

} 8 、 프로젝트 디 렉 터 리 settings. py INSTALLED 설정APPS = ['app' 'gunicorn'] 9 、 gunicorn 실행 가능: sudo nohup / usr / local / bin / gunicorn blogproject.wsgi:application -c /home/shawn/blog_project/gunicorn.conf.py&
동시에 nginx. conf 에서 servername 뒤의 내용 (localhost) 을 settings. py 에 추가 한 ALLOWEDHOSTS ALLOWED_HOSTS = ['localhost','example.com']
외부 에 접근 하려 면 80 포트 를 엽 니 다:
sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo service iptatbles save
service nginx restart

좋은 웹페이지 즐겨찾기