部署nginx+django

1 开发环境与使用工具

环境:centos6.4

使用工具:gunicorn nginx


2 首先测试自己的代码的权限等有没有问题,我之前放在了根目录下,结果就是error 404的错误啦


python3.4 manage.py runserver 0.0.0.0:8020

然后去浏览器输入ip或域名 + :8020看能否看到信息,这一步排除自己的代码问题,一般没有问题

yum -y install nginx
mv /etc/nginx/conf/nginx.conf /etc/nginx/conf/nginx.conf.bak
cat /etc/nginx/conf/nginx.conf

user nobody;#这句是为了安全当然你也可以不加
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;

    keepalive_timeout  65;
    upstream django {
        server 127.0.0.1:8020;
    }

    server {
       listen      80;
       server_name you_server_domain;
       charset     utf-8;
    
       client_max_body_size 75M;
    
       location / {
           proxy_pass  http://127.0.0.1:8020;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
       }
       location  /static/ {
           root /root/liuliancao/mysite/;#我存放图片和css等的位置
       }
   }
}


我文件夹的权限是,少了x就不行了
(liuliancao)[root@liuliancao mysite]# ll -d /root
dr-xr-x--x. 8 root root 4096 12月 20 12:21 /root

上面网上有很多种写法,大家可以配置成功后自行配置



如果上面的也做成功了

那么加入gunicorn吧

gunicorn说白了就是帮你执行python3.4 manage.py runserver的,不过执行速度和效率要好点


安装gunicorn
pip3.4 install gunicorn
cd /root/liuliancao/mysite
gunicorn mysite.wsgi:application -b 0.0.0.0:8020

最后设法让gunicorn后台执行这个命令

nohup gunicorn mysite.wsgi:application -b 0.0.0.0:8030 &>/tmp/gunicorn/liuliancao.com.gunicorn.log

如何断掉呢,直接干掉进程就行了

jobs查看当前job

jobs
[2]+  Running                 gunicorn mysite.wsgi:application -b 0.0.0.0:8030 &

关掉这个job

fg 2
gunicorn mysite.wsgi:application -b 0.0.0.0:8030

^C[2015-12-20 21:43:17 +0800] [3591] [INFO] Handling signal: int
[2015-12-20 21:43:17 +0800] [3594] [INFO] Worker exiting (pid: 3594)
[2015-12-20 21:43:17 +0800] [3591] [INFO] Shutting down: Master

至此,django部署已经完成

你可能感兴趣的:(nginx,django,部署,deploy)