1 默认配置nginx.conf

默认nginx配置文件路径:

/etc/nginx/nginx.conf

  1. user www-data;
  2. worker_processes auto; # woker进程数, 通常等于CPU数量或者2倍于CPU
  3. pid /run/nginx.pid; # pid存放路径
  4. include /etc/nginx/modules-enabled/ *.conf;
  5. error_log log/error.log debug; # 错误日志存放路径 级别
  6. events {
  7. worker_connections 768;
  8. # multi_accept on;
  9. }
  10. events {
  11. worker_connections 1024; # 每个woker进程的最大连接数,默认为768
  12. # keepalive_timeout 60; # 连接保活超时时间,单位秒
  13. # use epoll; # 使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
  14. # accept_mutex on; # 设置网路连接序列化,防止惊群现象发生,默认为on
  15. # multi_accept on; # 设置一个进程是否同时接受多个网络连接,默认为off
  16. }
  17. http {
  18. sendfile on; # 开启高效文件传输模式。
  19. tcp_nopush on; # 防止网络阻塞
  20. tcp_nodelay on; # 防止网络阻塞
  21. keepalive_timeout 65; # 长连接超时时间,单位是秒
  22. types_hash_max_size 2048;
  23. access_log /var/log/nginx/access.log;
  24. error_log /var/log/nginx/error.log;
  25. gzip on; # 开启gzip压缩输出
  26. # autoindex on; # 开启目录列表访问,适合下载服务器,默认关闭。
  27. # include mime.types; # 设定mime类型,类型由mime.type文件定义
  28. # default_type application/octet-stream; # 默认文件类型,默认为text/plain
  29. # 自定义日志格式, combined为日志格式的默认值
  30. /*
  31. log_format myFormat '$remote_addr–$remote_user [$time_local] $request '
  32. '$status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';
  33. access_log log/access.log myFormat;
  34. */
  35. # sendfile on; # 允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
  36. # sendfile_max_chunk 100k; # 每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
  37. # keepalive_timeout 65; # 连接超时时间,默认为75s,可以在http,server,location块。
  38. # error_page 404 https://www.baidu.com; # 错误页
  39. include /etc/nginx/conf.d/*.conf;
  40. include /etc/nginx/sites-enabled/*;
  41. }

2 自定义配置xxx.conf

我们要在/etc/nginx/nginx.conf的基础上新增配置, 要把配置文件写在conf.d目录下

/etc/nginx/conf.d/xxx.conf

  1. # 虚拟主机的配置,一个server就代表一个虚拟主机
  2. server {
  3. # 监听端口, 只有请求的IP和端口都相同时, 才进行资源定位
  4. listen 192.168.250.130:80;
  5. # 域名可以有多个, 用空格隔开
  6. server_name www.meiduo.site;
  7. # 资源定位
  8. location =/{
  9. root /home/ws/Desktop/meiduo/meiduo_mall/meiduo_mall/static; # 站点根目录
  10. index index.html;
  11. # 拒绝的ip
  12. deny 127.0.0.1;
  13. # 允许的ip
  14. allow 172.18.5.54;
  15. }
  16. }

3 示例

  1. server {
  2. listen 443 ssl;
  3. #配置HTTPS的默认访问端口为443。
  4. #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
  5. #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
  6. server_name www.cnsjai.com; # SSL证书绑定的域名。
  7. # SSL证书
  8. ssl_certificate /etc/nginx/conf.d/cert/cnsjai-certificate/5414298_www.cnsjai.com.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
  9. ssl_certificate_key /etc/nginx/conf.d/cert/cnsjai-certificate/5414298_www.cnsjai.com.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
  10. ssl_session_timeout 5m;
  11. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  12. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
  13. ssl_prefer_server_ciphers on;
  14. client_max_body_size 150m;
  15. client_body_buffer_size 150M;
  16. location / {
  17. alias /var/www/cnsjai.com/;
  18. index index.html index.htm;
  19. }
  20. location /static {
  21. root /var/www/cnsjai.com/;
  22. }
  23. location /cli/cms {
  24. alias /usr/src/html/production/; #站点目录。
  25. index index.html index.htm;
  26. }
  27. location /api/cms {
  28. proxy_pass http://127.0.0.1:6660/;
  29. proxy_set_header Host $host;
  30. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  31. }
  32. location /apkurl/ {
  33. alias /opt/app_httpsserver/utils/apkpackage/;
  34. }
  35. location /apkurl_test/ {
  36. alias /opt/app_httpsserver_test/utils/apkpackage/;
  37. }
  38. location /portum/ {
  39. proxy_pass http://127.0.0.1:5678/;
  40. proxy_set_header Host $host;
  41. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  42. proxy_read_timeout 300;
  43. proxy_send_timeout 300;
  44. }
  45. location /y/ {
  46. proxy_pass http://127.0.0.1:10007/;
  47. proxy_set_header Host $host;
  48. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  49. }
  50. location /test/ {
  51. proxy_pass http://127.0.0.1:5006/;
  52. proxy_set_header Host $host;
  53. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  54. }
  55. }