0 PRE
阿里云ECS云服務(wù)器(預(yù)裝系統(tǒng)為ubuntu16.04)、可用域名、node.js后端服務(wù)器項目(HelloWorld)
1 基本環(huán)境的搭建過一遍
-
通過阿里云控制臺成功連接云服務(wù)器,登錄系統(tǒng)
image.png - 如上圖,發(fā)送遠程命令來切換終端,Ctrl+Alt+(F1~F6)為終端,如果安裝了圖形界面F7為切換到圖形界面(下面有講圖形界面的安裝)
- 進入系統(tǒng)之后,因為是root登錄,已經(jīng)有了系統(tǒng)最高權(quán)限,所以不需要sudo
apt-get update //更新軟件包版本
apt-get upgrade
update是下載源里面的metadata的. 包括這個源有什么包, 每個包什么版本之類的.
upgrade是根據(jù)update命令下載的metadata決定要更新什么包(同時獲取每個包的位置).
nginx的入門(不用看安裝以及使用部分,安裝和使用有多套方法,看懂他是什么以及虛擬主機配置就行)
-
安裝和使用本文選取了較簡單的一種方法,如下:
- 安裝 Nginx
apt-get install nginx- Nginx 配置文件
配置一個域名,到 /etc/nginx/sites-enabled 目錄下, 刪除一個默認文件:
rm default- 然后,新建一個 server.conf 配置文件:
cd /etc/nginx/sites-enabled touch server.conf 這個 server.conf 文件的內(nèi)容如下: server { listen 80 default_server; server_name your_domain_name; location / { proxy_pass http://localhost:3000; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_x_forwarded_host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 3m; proxy_send_timeout 3m; } }
- 用真實的域名替換 your_domain_name,location中proxy_pass用你后端node服務(wù)器監(jiān)聽的端口去替換掉3000。最后,啟動 Nginx,執(zhí)行命令:
service nginx start
- 若修改了 Nginx 的配置文件,需要執(zhí)行下面命令,配置信息才能生效:
service nginx reload
- 在開啟Nginx服務(wù)之前可以使用命令
nginx -t來檢查配置文件是否正確
image.png
出現(xiàn)上圖說明正確,否則他會提示你錯在哪兒了。
2 克隆項目到本地并啟動服務(wù)器
git clone ... //克隆項目到本地
cd ... //進入項目文件夾
npm i //安裝node_modules
mongod --dbpath *** //開啟mongodb服務(wù)器
node index.js //運行
//注意:因為上面的數(shù)據(jù)庫服務(wù)器要保持運行,所以要再運行node項目需要通過本文開頭提到的方法切換終端,或者將進程切換到后臺運行(問搜索引擎)
3 測試
- 終端輸入
wget localhost:3000(這里假設(shè)node項目運行在3000端口,并且api為GET | '/' | 返回“HelloWorld”)發(fā)送請求,看是否能成功下載網(wǎng)頁,cat index.html查看網(wǎng)頁內(nèi)容是否為HelloWorld,如上一致則說明后端服務(wù)器正常運行。 - 終于來測試nginx了
- 終端輸入
wget your_domain_name將your_domain_name 替換成你的域名,查看是否能正常下載網(wǎng)頁,嗯,你會發(fā)現(xiàn),不能。那么問題出現(xiàn)在哪兒了呢?現(xiàn)在vim /etc/nginx/sites-enabled/server.conf將server中的 server_name 替換成localhost,wget localhost再次查看是否能正常下載網(wǎng)頁,如果不能,說明你的nginx配置文件有問題,請仔細對照上文修改。如果能,那么我們就能保證云服務(wù)器上的nginx可以正常使用,那么問題出現(xiàn)在哪兒了呢?
答案是,阿里云的配置。Google了一天nginx,當我發(fā)現(xiàn)的時候我也很無奈啊。 -
進入阿里云控制臺=>云服務(wù)器ECS=>網(wǎng)絡(luò)和安全=>安全組=>配置規(guī)則=>添加安全組規(guī)則,照著下圖設(shè)置即可
image.png - 回到遠程連接窗口,將server.conf的server_name改回自己的域名,
wget your_domain_name看能否正常下載網(wǎng)頁,現(xiàn)在應(yīng)該是可以了。


