Nginx修改配置不生效问题解决

nginx常用命令

start nginx:启动nginx
nginx -s stop:关闭nginx
nginx -s reload:重新加载配置
nginx -s reopen:重新打开
nginx -t:检测配置文件是否正常

有时候修改完配置文件,发现没有生效,即便执行了reload命令也不行,这时候可以使用终极大招,杀掉进程,再开启nginx就可以了。
taskkill /IM nginx.exe /F —关闭所有nginx进程

基本配置示例
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
	
    keepalive_timeout  120;
    keepalive_requests 10000;

    #请求超时设置:秒
    fastcgi_connect_timeout 600; 
    fastcgi_send_timeout 600; 
    fastcgi_read_timeout 600; 
    
    #nginx重置的默认监听端口
    server {
        listen       81;
        server_name   localhoat;
        location / {
		root   html;
		index  index.aspx index.html index.htm;
        }
    }

    #801端口--转发http://123.123.123.123:8001
    server {
        listen       801;
        server_name   111.111.11.1;
        location / {
            proxy_pass   http://123.123.123.123:8001;
        }
    }

    #802端口--转发http://123.123.123.123:8002
    server {
        listen       802;
        server_name   111.111.11.1;
        location / {
            proxy_set_header Host $host:809;
            proxy_pass   http://123.123.123.123:8002;
	        proxy_connect_timeout   600;   
            proxy_send_timeout      600;  
            proxy_read_timeout      600;  
        }
    }
	
	#803端口--转发http://123.123.123.123:8003;
    server {
        listen       803;
        server_name   111.111.11.1;
        location / {
            proxy_pass   http://123.123.123.123:8003;
	        proxy_connect_timeout    600;
            proxy_read_timeout       600;
            proxy_send_timeout       600;
            
	        # Host配置以及域名传递
	        proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    #804端口--转发http://123.123.123.123:8004
    server {
        listen       804;
        server_name   111.111.11.1;
        location / {
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass   http://123.123.123.123:8004;
	    	proxy_connect_timeout   600;   
            proxy_send_timeout      600;  
            proxy_read_timeout      600;  

        }
    }
}
END
### 解决Nginx跨域配置无效的问题 #### 检查配置文件语法 为了确保Nginx正确加载并解析了配置文件,应当使用`nginx -t`命令来验证配置文件的语法是否正确[^1]。此操作可以防止因配置文件中的拼写错误或其他语法问题而导致设置未被应用。 如果遇到任何警告或错误提示,则需按照报错信息修正相应部分后再重新运行该命令直至返回成功消息为止。 #### 正确添加CORS头部 对于跨域资源共享(CORS),应在Nginx配置中适当位置加入必要的HTTP响应头字段。具体来说,在处理请求路径下的location块内增加如下指令: ```nginx location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,B Cache-Control,Content-Type'; if ($request_method = 'OPTIONS') { return 204; } proxy_pass http://example_backend_server_address; } ``` 上述代码片段展示了如何为所有资源开放跨源访问权限,并允许特定类型的HTTP方法和自定义请求头。注意这里将通配符替换成了更具体的值以提高安全性[^2]。 #### 重启Nginx服务使更改生效 完成以上修改之后,记得执行以下命令让新的配置立即生效: ```bash sudo systemctl restart nginx ``` 或者根据操作系统不同可能需要使用其他方式启动/重载Nginx服务进程。这一步骤非常重要因为只有当服务器接收到更新后的配置才会真正改变其行为模式[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值