centos6.5騰訊雲django環境部署---二、Gunicorn+Django+nginx+mysql部署

接上一章:已經按照以前章節安裝了Python2.7.10,Django 1.8.14. 以及mysql並建立了數據庫以及數據庫賬號密碼。python

1、安裝nginx

yum -y install nginx
#設置nginx開機啓動:
chkconfig nginx on
啓動nginx:service nginx start

  若是安裝不了或者找不到nginx的源,則手動添加文件:mysql

/etc/yum.repos.d/nginx.repo

  在裏面填入:nginx

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/6/$basearch/

gpgcheck=0

enabled=1

  而後再執行一次yum -y install nginx  sql

啓動報錯:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)數據庫

  解決辦法:vim /etc/nginx/conf.d/default.confvim

  將:   listen       80 default_server; centos

            listen       [::]:80 default_server;bash

  改成: listen       80;
             #listen       [::]:80 default_server;

  啓動nginx就好了。。app

2、配置nginx

vi /etc/nginx/nginx.conf

     (修改爲本身的用戶帳號,它默認用的是nginx用戶,但咱們博客的目錄下訪問這些是須要用戶帳號的,而nginx這個用戶是沒有權限的。因此將user後改爲本身的用戶帳號brad。若是不作這些修改,咱們後面訪問靜態文件會出現問題。由於nginx原本就沒有權限去訪問這些靜態的文件。)socket

    

  


3、安裝gunicorn

  一、安裝

/usr/local/bin/pip install gunicorn

  二、 在xxx_project下新建gunicorn的配置文件gunicorn.conf.py

import multiprocessing

bind = "127.0.0.1:8080"
workers = 2
errorlog = '/home/brad/xxx_project/gunicorn.error.log'
#accesslog = './gunicorn.access.log'
#loglevel = 'debug'
proc_name = 'gunicorn_blog_project'

  三、在XXX_project下新建nginx的配置文件nginx.conf 

server {
     listen 80;
     server_name localhost example.com;
     access_log /home/brad/xxx_project/nginx.access.log;
     error_log /home/brad/xxx_project/nginx.error.log;

     location / {
         proxy_pass http://127.0.0.1:8080;
         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/brad/xxx_project/static/robots.txt;
     }

     location /favicon.ico {
          alias /home/brad/xxx_project/static/img/favicon.ico;
     }

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


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

}

  四、將其連接到 /etc/nginx/conf.d/blog_project.conf (須要root賬號權限或者sudo)

sudo ln -s /home/brad/xxx_project/nginx.conf /etc/nginx/conf.d/xxx_project.conf

  五、同時,必須把nginx.conf裏server_name後面的內容(localhost)加入到 settings.py裏的ALLOWED_HOSTS

sudo vi settings.py

  

  六、如今咱們如今能夠運行一下gunicorn:

sudo nohup /usr/local/python2710/bin/gunicorn xz1024_project.wsgi:application -c /home/brad/xz1024_project/gunicorn.conf.py& 

  注意:須要在/home/brad/xxx_project目錄下面執行。

  8.若是要外部訪問,則打開80端口:

sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

sudo service iptatbles save
相關文章
相關標籤/搜索