學如逆水行舟
1.首先你得安裝node.js
,我是用nvm
安裝的,這樣比較好控制版本,當然你也可以使用apt-get
。
2.下一步是安裝Nginx
,不去管版本的話,直接sudo apt-get install nginx
就行。
3.進入/etc/nginx
目錄,檢視nginx.conf
配置檔案,在http
塊中找到這樣兩句:
# include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/*;複製程式碼
看看你的這兩句有沒有註釋掉,如果註釋了就把#
號去掉,沒有註釋的話就跳過這一步。
4.進入/etc/nginx/conf.d
目錄,建立我們自己的配置檔案,去名規則最好是域名加埠,這樣以後方便找,比如我的:rockjins-com-8081.conf
,配置檔案寫入以下內容:
upstream rockjins {
server 127.0.0.1:8081; # 這裡的埠號寫你node.js執行的埠號,也就是要代理的埠號,我的專案跑在8081埠上
keepalive 64;
}
server {
listen 80; #這裡的埠號是你要監聽的埠號
server_name 39.108.55.xxx www.rockjins.com rockjins.com; # 這裡是你的伺服器名稱,也就是別人訪問你服務的ip地址或域名,可以寫多個,用空格隔開
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://rockjins; # 這裡要和最上面upstream後的應用名一致,可以自定義
}
}複製程式碼
5.儲存檔案後,輸入sudo nginx -t
測試我們的配置檔案是否有錯誤,一般錯誤都是漏個分號,少個字母之類的,錯誤提示很精確,沒錯的話會輸出下面兩句:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful複製程式碼
6.現在我們需要重啟Nginx
,我們的配置檔案才會生效,輸入sudo service nginx reload
;
7.最後一步把我坑慘了,弄了一晚上,就是安全組的問題,之前有篇文章還寫到了這個問題,一轉眼就忘了。(ssh連線伺服器 Operation timed out)
因為服務跑在8081
埠上,但是阿里雲的安全組預設是拒絕4000
埠以上的授權策略的,大家一定記得去新增安全組規則,如圖:
8.開啟瀏覽器,輸入你的IP或域名,是不是把8081
埠代理到80
埠上了,哈哈。
希望這篇文章能夠幫到你,節省你一些沒必要浪費的時間,有什麼問題可以找我,大家一起進步!
本文作者:餘震(Shock)
本文出處:Rockjins Blog
版權宣告:本部落格所有文章除特別宣告外,均採用 CC BY-NC-SA 3.0 CN許可協議。轉載請註明出處!