Nginx支持websocket配置

前言

wss协议实际就是websocket+ssl,就是在websocket协议上加入ssl层,类似https(http+ssl)。

Nginx websocket代理主要配置:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

ws配置示例

server {
    listen 80;
    server_name yourdomain.com;

    location /websocket {
        proxy_pass http://localhost:8000;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Linux服务器上配置Nginx服务开机自启动

Nginx安装完毕后,正常启动命令:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

/usr/local/nginx/sbin/nginx
Nginx启动默认nginx.conf配置文件即为/usr/local/nginx/conf/nginx.conf,所以-c 配置文件可以不指定。

关闭命令:
/usr/local/nginx/sbin/nginx -s stop

常用Linux开机启动配置的两种方法:
(1)编辑/etc/rc.local,添加开机启动运行命令;
(2)添加/etc/init.d/nginx,通过chkconfig配置开机启动服务;

Nginx多条件IF逻辑运算(与、或操作)不支持问题解决方法

Nginx配置不支持if条件的逻辑与、逻辑或运算,而且也不支持if嵌套,例如:

if ((!-e $request_filename) && ($request_uri !~ ^/apple-business/.*$)) {

}

if ((!-e $request_filename)) {
    if (($request_uri !~ ^/apple-business/.*$)) {
        
    }
}

对于这种情况,可以通过使用变量的方式来间接解决。例如: