上一篇:部署Django项目到阿里云(四)——用uWSGI运行Django项目
在上节中,已经能将django项目部署到阿里云,远程连接了。
但是实际项目中,一般一台服务器满足不了高并发的要求,所以为了提升项目的并发数,会在前端接入反向代理及均衡负载技术。
反向代理:简单的理解就是类似客服电话,每次接你电话的时候不一定是同一个客服,它是经过总机来指定分配的,反向代理也可这样理解。
均衡负载:有了反向代理之后,如何让客服均衡的接听电话,这就涉及到均衡负载技术了,我们可以购买硬件均衡负载,但是这样的成本很贵,灵活性差,我们一般选用软件均衡负载的方式,比如说Nginx。
Nginx是一种轻量级的web服务器/反向代理服务器。特点是工作在网络的七层之上,对其依赖很小,并发大,性能好。
下面,我们就开始使用Nginx开发。
1.下载Nginx
还是先更新,然后下载Nginx:
apt install -y nginx
查看nginx版本:
nginx -V
启动、停止,重启服务:
service nginx startservice nginx stopservice nginx restart
服务开启后,用外网地址可访问nginx:
修改配置文件之后,用代码测试有没有问题:
nginx -t
修改配置文件之后,重新加载命令文件:
nginx -s reload
2.配置Nginx
(1)配置文件:
使用vi /etc/nginx/nginx.conf
进入
还有:
http {
access_log /var/log/nginx/access.log; #表示成功访问的日志
error_log /var/log/nginx/error.log; #表示错误访问的日志
gzip on; #表示打开压缩,打开的话节省网络资源
include /etc/nginx/conf.d/.conf; #导入该文件
include /etc/nginx/sites-enabled/; #导入该文件
…
}
可以看到,随意打开一个网站,应该都开启了gzip:
(2)server配置:
使用下面的代码打开:
vi /etc/nginx/sites-enabled/default
说明:
listen 80 default_server; #监听的端口
root /var/www/html; #指定网站根目录位置
index index.html index.htm index.nginx-debian.html; #没有输入某一个文件,默认读取某一个文件
erver_name _; #服务器名字,通常这里填域名
location / {
# 首先尝试将请求作为文件,然后作为目录,
# 然后回退到显示404。
try_files $uri $uri/ =404;
}
(3)配置nginx首页:
上个server文件中root /var/www/html;
进入该目录下cd /var/www/html
查看下面的文件ls
修改html内容或者删除该文件新建一个html文件,则外网地址上显示内容跟着改变。
下一篇:部署Django项目到阿里云(六)——实现用nginx访问Django项目,实现反向代理及负载均衡