文件名*.conf
server{
listen 80; listen 443 ssl; server_name xxx.xxxx.xxx; # 域名或者localhost或者ip client_max_body_size 200M; ssl_certificate /**.pem; ssl_certificate_key /**.key; location ~ ^/(css/|fonts/|images/|js/){ # 訪問靜態資源 root /**/public;#靜態文件路徑(http://xxx.xxxx.xxx/css==訪問/**/public/css下的文件) access_log off; expires max; } location ~ .*\.(gif|jpg|jpeg|png)$ # 緩存 { expires 30d; } location / { # 訪問靜態網頁 root /root/project/**; # 靜態網頁的路徑 index index.php index.html index.html; } }
注:
server_name:域名or localhost or IPphp
listen 443 ssl:設置https訪問模式css
ssl_certificate /*.pem :https的安全證書的pem文件html
ssl_certificate_key /*.key :https的安全證書的key文件(由於我用的是阿里雲服務器,因此這兩個文件是從阿里雲管理平臺申請的證書,申請時間挺快的)java
文件名*.conf
upstream ws{#長鏈接服務器 負載均衡 server 127.0.0.1:6080;#遊戲服務器1 server 127.0.0.1:6081;#遊戲服務器2 server 127.0.0.1:6082;#遊戲服務器3 server 127.0.0.1:6083;#遊戲服務器4 server 127.0.0.1:6084; ... keepalive 3000; } server{//短鏈接 listen 0.0.0.0:80; listen 443 ssl; server_name xx.xxxxx.xxx; # 同上 ssl_certificate /etc/nginx/conf.d/*.pem; ssl_certificate_key /etc/nginx/conf.d/*.key; location ~ ^/(css/|fonts/|images/|js/){ root /root/project/***/public; access_log off; expires 10d; } location ~ .*\.(gif|jpg|jpeg|png)$ { expires 30d; } location /{ proxy_pass_request_headers on; 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-Nginx-Proxy true; proxy_redirect off; client_max_body_size 10m;#傳輸數據的大小 proxy_pass http://127.0.0.1:6000; } server{#長鏈接 listen 80; listen 443 ssl; server_name xx.xxxx.xxx; ssl_certificate /etc/nginx/conf.d/*.pem; ssl_certificate_key /etc/nginx/conf.d/*.key; location ~ ^/(css/|fonts/|images/|js/){ root /root/project/***/public; access_log off; expires 10d; } location / { proxy_http_version 1.1; 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-Nginx-Proxy true; proxy_redirect off; client_max_body_size 10m; proxy_pass http://ws; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 300s; #配置點1 proxy_read_timeout 300s; #配置點2,若是沒效,能夠考慮這個時間配置長一點 proxy_send_timeout 300s; #配置點3 } }
注:
upstream ws :配置負載均衡,nginx會隨負載均衡算法隨機的把長鏈接請求轉接到此區域中的某一個鏈接。(我這裏主要是用於:擴充用戶的長鏈接鏈接數。)node
proxy_pass:代理請求路徑。本身服務器端的路徑。nginx
proxy_pass http://ws:長鏈接負載均衡的配置git
proxy_connect_timeout 300s or proxy_read_timeout 300s or proxy_send_timeout 300s:主要是配置nginx對長鏈接的保持時間,若是此長鏈接一段時間不請求任何命令後,nginx會在此時間後斷開此連接。通常會在客戶端設置一個心跳,在小於此時間後發起一次請求,用以保持此長鏈接的鏈接(這個是個人解決辦法,不知道是否有更好的方法,歡迎提出來,學習一下)github
nodejs簡單的遊戲服務器請點擊 github項目地址
nodejs實現第三方登陸請點擊 nodejs服務端實現微信小遊戲登陸web