(二)部署配置nginx
1、安装nginx:sudo apt install nginx
安装完毕后,使用nginx -v 查看版本
安装后自动启动并开放80端口
2、修改ngix的配置文件/etc/nginx/sites-enabled/default (这个default是默认80的端口,如果要开放其他端口,再添加文件即可)
#在server节点下添加新的location项,指向uwsgi的ip与端口。
server{
……
#location相当于路由,在以下配置中,相当于将所有包含 / 开头的请求都转发给127.0.0.1:8000,至于inclue 则是官方要求的内容
location / {
uwsgi_pass 127.0.0.1:8000; #重定向到127.0.0.1的8000端口
include /etc/nginx/uwsgi_params;#将所有的参数转到uwsgi下
}
……
}
3、需要注意的是,如果需要开放SSL即443端口,那么可以先自己生成一个证书(方法 看这里:https://www.jianshu.com/p/602a70c1b04e)。然后在/etc/nginx/sites-enabled/这个目录下生成一个文件,这里暂且就叫port_443,它的配置与80的配置基本相同,主要的差异就在端口与证书这两个方面,其他方面可以设置为一样:
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/nginx/cert/server.crt;
ssl_certificate_key /etc/nginx/cert/server.key;
root /var/www/html;
...
}
要注意的是/etc/nginx/cert/这个文件夹是自己生成的!
可以这么做的原因是在加载配置/etc/nginx/nginx.conf过程中,这个配置在http服务中加载了
include /etc/nginx/sites-enabled/*;
也就是说它加载了include /etc/nginx/sites-enabled/文件夹下所有的配置,这样,你的配置就可以生效了!
4、启动/停止
sudo /etc/init.d/nginx start|stop|restart|status
或
sudo service nginx start|stop|restart|status
要注意,nginx配置只要修改,就需要进行重启,否则配置不生效。
三、修改uWSGI配置
在nginx以uwsgi转发的情况下,uWSGI需要以socket模式启动,而不是http模式了!
样例:
[uwsgi]
#去掉如下
#http=127.0.0.1:8000
#改为
socket=127.0.0.1:8000