安装nginx
Ubuntu16.04下安装 Nginx
1.使用apt-get安装nginx
sudo apt-get install nginx
2.启动你的nginx
sudo service nginx restart
在你浏览器的地址栏输入你的ip地址 出现**Welcome to nginx!**的页面说明安装成功
安装Uwsgi
1.使用pip安装uwsgi
pip install uwsgi
2.测试是否可以使用uwsgi启动你的django项目
uwsgi --http :8000 --chdir=/home/yfx/download/todolist --module todolist.wsgi
--http :8000 django项目启动的端口
--chdir=/home/yfx/download/todolist 项目所在的绝对路径
--module todolist.wsgi 项目下的wsgi模块(django项目创建时自带一个wsgi.py)
如果出现
*** Starting uWSGI 2.0.17.1 (64bit) on [Sat Sep 8 16:21:13 2018] ***
compiled with version: 5.4.0 20160609 on 08 September 2018 08:06:11
os: Linux-4.13.0-41-generic #46~16.04.1-Ubuntu SMP Thu May 3 10:06:43 UTC 2018
nodename: instance-6qytbj6i
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
类似的进程,则表示uwsgi安装成功,并且可以启动你的django项目
3.使用uwsgi后台运行django项目
uwsgi --http :8000 --chdir=/home/yfx/download/todolist --module todolist.wsgi --processes 4 --threads 2 --daemonize /home/yfx/download/todolist/log/todolist.log
--processes 4 开启4个进程
--threads 2 两个线程
--daemonize /home/yfx/download/todolist/log/todolist.log 后台运行并指定日志存放路径
4.关闭uwsgi启动的项目的方法
sudo lsof -i:8000
然后kill -9 PID号
结束相应进程
使用nginx反向代理运行django项目
nginx配置文件结构
简单说明nginx配置文件结构
├── conf.d
├── nginx.conf
├── sites-availablesites-available
│ └── default
├── sites-enabled
│ └── default -> /etc/nginx/sites-available/default
nginx下的配置文件中有这样两个包含
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
表示它的配置文件可以从conf.d/*.conf中获得,也可以从**sites-enabled/***中获得,但很显然,我们的页面只能显示一个内容,于是一个巧妙的设计就出现了.我们可以将我们的配置文件放在sites-available目录下,然后建立软链接,链接到sites-enabled下,nginx启动找配置文件时,可以通过sites-enabled目录下的软链接找到sites-available目录下项目的配置文件,切记,更换项目时要删除原来的软链接,避免新项目的配置文件无法被nginx获取.
nginx反向代理运行django项目
开始部署我们的项目吧,由于我们使用apt-get安装,默认的nginx配置文件在/etc/nginx下
1.切换到sites-available下
cd /etc/nginx/sites-available
2.建立一个属于你项目的配置文件
这里我的项目名是todolist,为了方便管理,我在sites-available下建立一个名为todolist的配置文件
sudo vim todolist
配置如下
server{
listen 80;
server_name 127.0.0.1;
location / {
include /etc/nginx/uwsgi_params;
proxy_pass http://127.0.0.1:8000;
}
}
监听80端口
服务名可以改成你的域名
nginx 反向代理就是访问你的ip时,会自动转向proxy_pass,即转到django的8000端口
3.切换到sites-enabled下
cd /etc/nginx/sites-enabled
4.将原来的那个软链接删除(不要舍不得删,它指向的是那个默认的nginx注册成功页面,并且如果你还想要,可以随时建立软链接,毕竟sites-enabled中的那个默认配置还在,这两个是一样的)
sudo rm -rf default
5.建立软连接
sudo ln -s /etc/nginx/sites-available/todolist /etc/nginx/sites-enabled
6.重启nginx
sudo service nginx restart
7.在浏览器地址栏里输入ip,不需要加端口,也能访问到你的django项目
原文:https://blog.csdn.net/yingfeng_yang/article/details/82531258