【前端項目上線】問題詳細分析

項目:
https://github.com/itguide/vn...node

安裝環境:

nginx
node
mongodbnginx

把代碼上傳到服務器

1.rz 上傳
2.使用github克隆git

把依賴包下載

cd /home/wwwroot/vnshop/clientgithub

npm imongodb

cd /home/wwwroot/vnshop/server
npm ishell

編譯客戶端代碼

cd /home/wwwroot/vnshop/client
npm run build數據庫

添加虛擬主機,綁定域名,而且把域名訪問的路徑指定到 /home/wwwroot/vnshop/client/src/dist

啓動server api服務

cd /home/wwwroot/vnshop/server
npm start
或者
node ./bin/wwwnpm

測試api
域名:3000/urlvim

配置反向代理

vim /usr/local/nginx/conf/vhost/vnshop.shudong.wang.conf

location /api/ {
   proxy_pass http://127.0.0.1:3000/; # 當訪問v1的時候默認轉發到 3000端口
}

更改nginx配置以後要重啓nginx服務
service nginx reload


原理 每次訪問這個url 匹配到 /api/
http://vn.shudong.wang/api/go...segmentfault

http://vn.shudong.wang/api/ -> http://127.0.0.1:3000/

http://127.0.0.1:3000/goods/list?sort=1&priceLevel=all&page=1&pagesize=8

若是沒有作反向代理,直接訪問
http://vn.shudong.wang/api/go...
會發生404 not found

詳細配置請看
https://segmentfault.com/a/11...

3000端口不能訪問

檢查 3000 端口是否啓動
檢查方法

netstat -anp | grep 3000

檢查結果

若是什麼也沒有輸出
3000端口沒有啓動

若是3000端口啓動了,仍是不能訪問
若是是阿里雲的話,檢查安全組策略

跨域

查看控制檯請求的api,域名是否和你的保持一致

若是不一致,你複製個人代碼,請去
vnshop/client/config/api.config.js

把裏面的域名改爲你的

記住必定要 編譯
npm run build

而後再訪問看請求的api 是不是和你訪問的域名保持一致

就是瀏覽器輸入的域名 和你 請求的api域名是同樣的

若是改爲同樣了後,會發生404 說明了,沒有這個api,這時候,須要你配置反向代理

mongodb 客戶端不能鏈接遠程數據庫

查看數據庫的端口是否啓動
若是你的數據庫端口是27017

netstat -anp | grep 27017


上面重點花圈的ip綁定 若是是 0 0.0.0.0:27017 四個0 有這個綁定就能夠任意一個遠程或本地鏈接
若是這是127.0.0.1 只能內網鏈接,不能遠程鏈接

若是沒有啓動

service mongod  start

啓動後,必定要檢查是否啓動成功

而後測試是否啓動成功

netstat -anp | grep 27017

使用mongo 輸入

mongo

能夠進入 mongo shell ,說明服務器上的mongodb 能夠使用

檢查是否開啓遠程

3000端口被佔用

若是是pm2啓動的話 殺不掉 ,kill 掉後,就會自動開啓一個進程
使用

pm2 status
pm2 stop name
相關文章
相關標籤/搜索