- 
Nginx是轻量级的高性能Web服务器,提供了诸如HTTP反向代理、负载均衡等一系列重要特性
 - 
C语言编写,执行效率高
 - 
作用:
- -负载均衡,多台服务器轮流处理请求
 - -反向代理
 
 - 
原理:
- -客户端请求nginx,再由nginx将请求转发uWSGI运行的django
 
 

安装
sudo apt install nginx
可考虑换成国内源
查看是否安装成功
:~$ nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
配置
输入127.0.0.1后会出现welcome to nginx……表示成功
修改nginx的配置文件 /etc/nginx/sites-enabled/default;
sudo vim该文件
或sudo nano /etc/nginx/sites-enabled/default
# 在server节点下添加新的location项,指向uwsgi的ip与端口
server {
	···
	location / {
		uwsgi_pass 127.0.0.1:8000;  # 重定向到127.0.0.1:8000端口
		include /etc/nginx/uwsgi_params;  # 将所有参数转到uwsgi下
	}
	···
}

sudo nginx -t会提示哪行有语法错误
启动/停止
启动|停止|重启
$ sudo /etc/init.d/nginx start|stop|restart|status
# 或
$ sudo service nginx start|stop|restart|status
注意:nginx配置只要修改,就要进行重启,否则不生效
修改uWSGI配置
因为原本接收的是http请求,现在传入的是uwsgi格式
uWSGI需要以socket模式启动
uwsgi.ini
# http=127.0.0.1:8000
socket=127.0.0.1:8000
注:改完后重启uWSGI
修改完后应访问127.0.0.1:80/端口,此时由nginx接收,然后传给uWSGI,uWSGI以8000端口接收
nginx静态文件配置
- 
创建新路径-主要存放Django所有静态文件 如:
/home/tarena/项目名_static/ - 
在
Django settings.py中添加新配置STATIC_ROOT = '/home/文件名/项目名_static/static'
# 注意 此配置路径为 存放所有正式环境中需要的静态文件 - 
进入项目,执行
python3 manage.py collectstatic执行该命令后,Django将项目中所有的静态文件复制到STATIC_ROOT中,包括Django内建的静态文件!!!只要有新的添加就得重新运行一边!!!