nginx
什么是nginx
- Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。常用作反向代理服务器。
特点
- 占用内存少
- 并发能力强
- 配置简单
- 支持静态文件缓存
作用
- 作为反向代理服务器
- 保证内网安全,可以使用反向代理服务器提供的WAF功能,阻止web攻击
- 负载均衡,通过反向代理服务器来优化网站的负载
- 缓存静态资源,加快访问速度
基本命令
- 启动
- nginx
- 停止
- nginx -s quit
- 强制停止
- nginx -s stop
- 重启
- nginx -s reload
nginx配置upstream实现负载均衡
upstream 自定义项目名 {
server 第一个业务服务器的ip:prot;
server 第二个业务服务器的ip:prot;
…
}
nginx配置转发请求给uwsgi
server {
listen 80;
server_name 域名;
location / {
# 包含uwsgi的请求参数
include uwsgi_params;
# 转发请求给uwsgi
uwsgi_pass uwsgi服务器的ip:port;
}
}
收集静态文件的路径
-
在项目settings.py中
- STATIC_ROOT=静态文件目录
-
在项目终端收集静态文件
- python manage.py collectstatic
使用nginx配置处理静态文件
server {
listen 80;
server_name 域名;
location / {
# 包含uwsgi的请求参数
include uwsgi_params;
# 转发请求给uwsgi
# uwsgi_pass uwsgi服务器的ip:port;
uwsgi_pass 自定义项目名;
}
location /static {
# 指定静态文件存放的目录
alias 静态文件目录;
}
}
使用nginx配置静态页面
server {
listen 80;
server_name 域名;
location / {
# 包含uwsgi的请求参数
include uwsgi_params;
# 转发请求给uwsgi
uwsgi_pass uwsgi服务器的ip:port;
}
location /static {
# 指定静态文件存放的目录
alias 静态文件目录;
}
location = / {
# 传递请求给静态页面服务器的nginx
proxy_pass http://静态页面服务器的ip:port;
}
}