Nginx 常用命令和配置(CentOS 7.9)

1. 基本命令

启动/停止/重启

bash 复制代码
# 测试配置文件语法
sudo nginx -t

# 测试特定配置文件
sudo nginx -t -c /etc/nginx/nginx.conf

# 详细测试(显示配置内容)
sudo nginx -T

# 查看 Nginx 版本和编译参数
nginx -V

# 启动 Nginx
sudo systemctl start nginx

# 停止 Nginx
sudo systemctl stop nginx

# 重启 Nginx
sudo systemctl restart nginx

# 重新加载配置(不中断服务)
sudo systemctl reload nginx

# 查看状态
sudo systemctl status nginx

# 开机自启
sudo systemctl enable nginx

# 禁用开机自启
sudo systemctl disable nginx

2. nginx配置文件

sql 复制代码
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    server {
        listen 80;
        server_name ye9060.com;

        location / {
            root /usr/share/nginx/html;
            try_files $uri $uri/ /index.html;
        }

        location /uploads/ {
            alias /var/www/uploads/;
            autoindex on;
        }

        location /api/ {
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }

        location /ws {
            proxy_pass http://localhost:8080; # 确保 WebSocket 请求被正确代理到后端应用
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_cache_bypass $http_upgrade;
            proxy_read_timeout 300s;

#		    proxy_set_header  Host $host;
#		    proxy_set_header  X-Real-IP  $remote_addr;
#		    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
#		    proxy_set_header  X-Forwarded-Proto   $scheme;
#		    proxy_pass        http://127.0.0.1:8080/ws;
#		    
#		    # 关键配置 start
#		    proxy_http_version 1.1;
#		    proxy_set_header Upgrade $http_upgrade;
#		    proxy_set_header Connection "upgrade";
#		    # 关键配置 end
        }

        error_page 404 /404.html;
        location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/share/nginx/html;
        }
    }

    server {
        listen 443 ssl http2;
        server_name ye9060.com;

        ssl_certificate "/etc/nginx/server/ye9060.com.pem";
        ssl_certificate_key "/etc/nginx/server/ye9060.com.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

        location / {
            root /usr/share/nginx/html;
            try_files $uri $uri/ /index.html;
        }

        location /uploads/ {
            alias /var/www/uploads/;
            autoindex on;
        }

        location /api/ {
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }

        location /ws {
            proxy_pass http://localhost:8080; # 确保 WebSocket 请求被正确代理到后端应用
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_cache_bypass $http_upgrade;
            proxy_read_timeout 300s;

#		    proxy_set_header  Host $host;
#		    proxy_set_header  X-Real-IP  $remote_addr;
#		    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
#		    proxy_set_header  X-Forwarded-Proto   $scheme;
#		    proxy_pass        http://127.0.0.1:8080/ws;
#		    
#		    # 关键配置 start
#		    proxy_http_version 1.1;
#		    proxy_set_header Upgrade $http_upgrade;
#		    proxy_set_header Connection "upgrade";
#		    # 关键配置 end

        }

        error_page 404 /404.html;
        location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/share/nginx/html;
        }
    }
}
相关推荐
注塑机数据采集联网4 分钟前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
海宇服务21 分钟前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节
Brilliantwxx2 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地2 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
csdn_aspnet2 小时前
Docker Prune:完整指南与上手示例
运维·docker·容器·prune
ynchyong3 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具
乌恩大侠5 小时前
Supermicro 发布六款 NVIDIA ARC 服务器:从 1U 边缘基站到 4U 八卡 AI-RAN 平台,全面对比
运维·服务器·人工智能
谢白羽5 小时前
从传统运维到 AI Infra: K8s 上调度 100 张 GPU踩坑笔记
运维·人工智能·缓存·kubernetes·vllm·sglang·vllm-omni
ai_coder_ai5 小时前
使用Web IDE边写自动化脚本
运维·前端·自动化
wacsii5 小时前
【Linux基础开发工具(五)】Git版本控制器从入门到实战:核心操作三板斧与新手避坑指南
linux·运维·服务器