user root;
worker_processes auto;
#worker_rlimit_nofile 65535;
worker_rlimit_nofile 1024;
error_log /etc/nginx/logs/error.log error;
events {
accept_mutex on;
multi_accept on;
use epoll;
#worker_connections 65535;
worker_connections 1024;#操作系统能打开的最大文件句柄数ulimit -n 查看
}
http {
include mime.types;
default_type application/octet-stream;
access_log /etc/nginx/logs/access.log;
sendfile on;
sendfile_max_chunk 512k;
tcp_nopush on;
keepalive_timeout 650;
server_tokens off;
client_max_body_size 5m;
#client_header_buffer_size 4k;
client_header_buffer_size 16k;
client_body_timeout 200;
reset_timedout_connection on;
# 集群分发
upstream xxxx.com{
ip_hash;
server 10.10.10.10:8000 max_fails=3 fail_timeout=5s ; #保持session一致;注意:当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是weight 和backup。
server 10.10.10.11:8002 max_fails=3 fail_timeout=5s ; #max_fails 表示健康检查失败的次数,这里表示次数为3次,即标记该服务器down了
# server 10.18.221.80:8080 weight=2 max_fails=3 fail_timeout=5s backup;#热备配置(RS)节点的高可用,这标志着这个服务器作为备份服务器,若主服务器全部宕机了,就会向它转发请求
# server 10.18.221.125:80 weight=2 max_fails=3 fail_timeout=5s down;#这标识着服务器永远不可用,这个参数可配合ip_hash使用。
keepalive 64;
}
# 前端端口
server {
listen 80;
server_name xxxxx.com;
rewrite ^(.*)$ https://$server_name$1 permanent;
rewrite http://xxxxx.com https://$server_name/home permanent;
}
# ssl端口
server {
#listen 80;
server_name xxxxx.com;
listen 443;
ssl on;
ssl_certificate /root/ssl_certificate/server.crt;#配置证书全路径
ssl_certificate_key /root/ssl_certificate/server.key;#配置秘钥全路径
# ssl_client_certificate ca.crt;#双向认证
# ssl_verify_client on; #双向认证
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
root /usr/share/nginx/html;
charset utf-8;
location / {
#include uwsgi_params; #uwsgi_params在nginxconf文件夹下自带,uwsgi_pass一定要跟uwsgi_conf.ini中写的地址完全一致
#uwsgi_pass ;
root html/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api {
#proxy_pass http://127.0.0.1:8000/;
proxy_pass http://xxxxx.com/;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
client_max_body_size 500m;
#缓冲区最大字节
client_body_buffer_size 500m;
#代理服务器链接后端服务器的超时时间
proxy_connect_timeout 600;
#代理服务器等待后端服务器响应的超时时间
proxy_read_timeout 600;
#后端服务器返回数据给代理服务器的最大传输时间
proxy_send_timeout 600;
#代理服务器缓冲区大小,客户端的头信息会保存在这里
proxy_buffer_size 16k;
#代理服务器有几个缓冲区,最大是多大
proxy_buffers 4 64k;
#代理服务器烦方式可以申请更大的缓冲区,Nginx官方推荐为*2即可
proxy_busy_buffers_size 128k;
#代理服务器临时文件大小
proxy_temp_file_write_size 128k;
location /static {
alias /home/xxx/dist/;
}
location /media {
alias /home/www/resource/mediafiles/;
}
}
# 后端代理接口,转发至uwsgi的端口
server {
listen 8000;
ssl off;
server_name xxxxx.com;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9292;
uwsgi_read_timeout 600;
uwsgi_send_timeout 600; # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。
uwsgi_connect_timeout 600; # 指定连接到后端uWSGI的超时时间。
}
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
client_max_body_size 500m;
#缓冲区最大字节
client_body_buffer_size 500m;
#代理服务器链接后端服务器的超时时间
proxy_connect_timeout 600;
#代理服务器等待后端服务器响应的超时时间
proxy_read_timeout 600;
#后端服务器返回数据给代理服务器的最大传输时间
proxy_send_timeout 600;
#代理服务器缓冲区大小,客户端的头信息会保存在这里
proxy_buffer_size 16k;
#代理服务器有几个缓冲区,最大是多大
proxy_buffers 4 64k;
#代理服务器烦方式可以申请更大的缓冲区,Nginx官方推荐为*2即可
proxy_busy_buffers_size 128k;
#代理服务器临时文件大小
proxy_temp_file_write_size 128k;
location /static {
alias /home/xxx/static;
}
location /media {
alias /home/www/resource/mediafiles/;
}
}
}
django前后端分离前端nginx配置
最新推荐文章于 2023-03-24 09:04:00 发布