1 默认配置nginx.conf
默认nginx配置文件路径:
/etc/nginx/nginx.conf
user www-data;
worker_processes auto; # woker进程数, 通常等于CPU数量或者2倍于CPU
pid /run/nginx.pid; # pid存放路径
include /etc/nginx/modules-enabled/ *.conf;
error_log log/error.log debug; # 错误日志存放路径 级别
events {
worker_connections 768;
# multi_accept on;
}
events {
worker_connections 1024; # 每个woker进程的最大连接数,默认为768
# keepalive_timeout 60; # 连接保活超时时间,单位秒
# use epoll; # 使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
# accept_mutex on; # 设置网路连接序列化,防止惊群现象发生,默认为on
# multi_accept on; # 设置一个进程是否同时接受多个网络连接,默认为off
}
http {
sendfile on; # 开启高效文件传输模式。
tcp_nopush on; # 防止网络阻塞
tcp_nodelay on; # 防止网络阻塞
keepalive_timeout 65; # 长连接超时时间,单位是秒
types_hash_max_size 2048;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on; # 开启gzip压缩输出
# autoindex on; # 开启目录列表访问,适合下载服务器,默认关闭。
# include mime.types; # 设定mime类型,类型由mime.type文件定义
# default_type application/octet-stream; # 默认文件类型,默认为text/plain
# 自定义日志格式, combined为日志格式的默认值
/*
log_format myFormat '$remote_addr–$remote_user [$time_local] $request '
'$status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';
access_log log/access.log myFormat;
*/
# sendfile on; # 允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
# sendfile_max_chunk 100k; # 每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
# keepalive_timeout 65; # 连接超时时间,默认为75s,可以在http,server,location块。
# error_page 404 https://www.baidu.com; # 错误页
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
2 自定义配置xxx.conf
我们要在/etc/nginx/nginx.conf的基础上新增配置, 要把配置文件写在conf.d目录下
/etc/nginx/conf.d/xxx.conf
# 虚拟主机的配置,一个server就代表一个虚拟主机
server {
# 监听端口, 只有请求的IP和端口都相同时, 才进行资源定位
listen 192.168.250.130:80;
# 域名可以有多个, 用空格隔开
server_name www.meiduo.site;
# 资源定位
location =/{
root /home/ws/Desktop/meiduo/meiduo_mall/meiduo_mall/static; # 站点根目录
index index.html;
# 拒绝的ip
deny 127.0.0.1;
# 允许的ip
allow 172.18.5.54;
}
}
3 示例
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name www.cnsjai.com; # SSL证书绑定的域名。
# SSL证书
ssl_certificate /etc/nginx/conf.d/cert/cnsjai-certificate/5414298_www.cnsjai.com.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key /etc/nginx/conf.d/cert/cnsjai-certificate/5414298_www.cnsjai.com.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
client_max_body_size 150m;
client_body_buffer_size 150M;
location / {
alias /var/www/cnsjai.com/;
index index.html index.htm;
}
location /static {
root /var/www/cnsjai.com/;
}
location /cli/cms {
alias /usr/src/html/production/; #站点目录。
index index.html index.htm;
}
location /api/cms {
proxy_pass http://127.0.0.1:6660/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /apkurl/ {
alias /opt/app_httpsserver/utils/apkpackage/;
}
location /apkurl_test/ {
alias /opt/app_httpsserver_test/utils/apkpackage/;
}
location /portum/ {
proxy_pass http://127.0.0.1:5678/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300;
proxy_send_timeout 300;
}
location /y/ {
proxy_pass http://127.0.0.1:10007/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /test/ {
proxy_pass http://127.0.0.1:5006/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}