配置文件

nginx.conf

主配置文件,存放在/etc/nginx(此目录为nginx使用apt或者yum这种)

  1. #运行用户,默认即是nginx,可以不进行设置
  2. user nginx;
  3. #Nginx进程,一般设置为和CPU核数一样
  4. worker_processes 1;
  5. #错误日志存放目录
  6. error_log /var/log/nginx/error.log warn;
  7. #进程pid存放位置
  8. pid /var/run/nginx.pid;
  9. events {
  10. worker_connections 1024; # 单个后台进程的最大并发数
  11. }
  12. http {
  13. include /etc/nginx/mime.types; #文件扩展名与类型映射表
  14. default_type application/octet-stream; #默认文件类型
  15. #设置日志模式
  16. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  17. '$status $body_bytes_sent "$http_referer" '
  18. '"$http_user_agent" "$http_x_forwarded_for"';
  19. access_log /var/log/nginx/access.log main; #nginx访问日志存放位置
  20. sendfile on; #开启高效传输模式
  21. #tcp_nopush on; #减少网络报文段的数量
  22. keepalive_timeout 65; #保持连接的时间,也叫超时时间
  23. #gzip on; #开启gzip压缩
  24. include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件 
  25. }

default.conf

默认子配置文件,在/etc/nginx/conf.d中,是nginx.conf最后一行加载的

  1. server {
  2. listen 80; #配置监听端口
  3. server_name localhost; //配置域名
  4. #charset koi8-r;
  5. #access_log /var/log/nginx/host.access.log main;
  6. location / {
  7. root /usr/share/nginx/html; #服务默认启动目录
  8. index index.html index.htm; #默认访问文件
  9. }
  10. #error_page 404 /404.html; # 配置404页面
  11. # redirect server error pages to the static page /50x.html
  12. #
  13. error_page 500 502 503 504 /50x.html; #错误状态码的显示页面,配置后需要重启
  14. location = /50x.html {
  15. root /usr/share/nginx/html;
  16. }
  17. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  18. #
  19. #location ~ \.php$ {
  20. # proxy_pass http://127.0.0.1;
  21. #}
  22. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  23. #
  24. #location ~ \.php$ {
  25. # root html;
  26. # fastcgi_pass 127.0.0.1:9000;
  27. # fastcgi_index index.php;
  28. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  29. # include fastcgi_params;
  30. #}
  31. # deny access to .htaccess files, if Apache's document root
  32. # concurs with nginx's one
  33. #
  34. #location ~ /\.ht {
  35. # deny all;
  36. #}
  37. }

常见用途

反向代理

以下操作将代理http://127.0.0.1:8090http://127.0.0.1:80/facts_backend-2.6/

  1. location /facts_backend-2.6/ {
  2. index index.html index.htm index.jsp index.action;
  3. proxy_set_header X-Real-IP $remote_addr;
  4. proxy_set_header Host $host;
  5. proxy_set_header X-Forwarded-Host $host;
  6. proxy_set_header X-Forwarded-Server $host;
  7. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  8. proxy_pass http://127.0.0.1:8090/;
  9. }

文件服务器

tips:/地址可以使用root路径,其他映射的地址必须添加alias前缀

  • tips:映射的路径一定要以/结尾,不然会被当成文件

    1. server {
    2. location / {
    3. root E://opt/transocean/;
    4. }
    5. # 或者
    6. location /uploads/ {
    7. alias E://opt/transocean/;
    8. }
    9. }

    负载均衡

    1. server{
    2. upstream tomcats{
    3. //默认将使用轮询的方式负载均衡
    4. #tomcat服务1
    5. server 127.0.0.1:8081;
    6. #tomcat服务2
    7. server 127.0.0.1:8082;
    8. }
    9. location / {
    10. proxy_pass http://tomcats;
    11. }
    12. }