建議不熟悉 linux 命令的小夥伴同時打開個人另外一篇博客 linux 經常使用操做
0.0.0.0/0
,其餘默認就能夠了。暴露其餘端口你就在自定義端口選擇,好比暴露 7001 端口,你就在自定義端口選擇 TCP,輸入7001/7001
便可。git 鏈接html
# ssh remote_username@remote_ip 而後輸入密碼便可 若是ssh不存在,執行如下命令便可 # yum install openssh-client 下載客戶端ssh
部署 node 環境前端
# ssh remote_username@remote_ip 鏈接服務器 # wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz 下載node壓縮文件 # tar xvf node-v6.9.5-linux-x64.tar.xz 解壓 # ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node 建立軟鏈接 # ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm 建立軟鏈接 # node -v 查看node版本 # npm -v 查看npm版本
其餘vue
# yum install vim 下載vim
nginx 安裝node
# yum install epel-release 下載epel-release # yun install nginx 下載nginx # cd /etc/nginx # vim nginx.conf 用vim打開nginx.conf
修改 nginx.conflinux
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /root/www/; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location /admin/ { # 爲空便可,前端打包文件放在/root/www/admin裏面就可訪問到,注意默認是index.html } location /app/ { } location /wx/ { proxy_pass http://127.0.0.1:7002/; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
啓動 nginxnginx
nginx -t 測試nginx語法是否有誤 nginx 啓動nginx nginx -s reload 重啓nginx,修改nginx.conf後記得重啓
其餘命令git
ps -ef | grep nginx 顯示nginx進程 nginx -s stop 中止nginx nginx -v 查看nginx版本
安裝 mongodbgithub
# ssh remote_username@remote_ip 鏈接服務器 # curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 下載 # tar -zxvf mongodb-linux-x86_64-3.0.6.tgz 解壓 # mkdir data 建立數據庫文件夾 # touch mongodb.log 建立日誌文件 # cd /usr/local/mongodb/bin # ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork 注意fork是後臺啓動,避免又要再開窗口從新鏈接服務器再能進行其餘操做 # ./mongo 鏈接mongodb
配置隨 linux 啓動
在/etc/rc.local 添加以下便可:mongodb
# rm /usr/local/mongodb/data/mongod.lock 中止可能在運行的mongo # /.../bin/mongod -dbpath /usr/local/mongodb/data -logpath /usr/local/mongodb/mongodb.log -logappend -fork -port 27017
設置權限數據庫
# cd /usr/local/mongodb/bin # ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork # ./mongo > use admin > db.createUser( > { > user: "root", > pwd: "123456", > roles: [ { role: "root", db: "admin" } ] > } > ) > db.shutdownServer(); # ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork --auth # db.auth("root","123456")
項目中鏈接 mongodb(這裏以 koa 框架 egg 項目爲例,其餘 node 請自行查找)
# cnpm i egg-mongoose -S // config/plugin.js exports.mongoose = { enable: true, package: 'egg-mongoose', } // config/config.default.js config.mongoose = { url: 'mongodb://127.0.0.1/eggadmin', options: { // 若是設置了密碼 // auth: { "authSource": "admin" }, // user: "root", // pass: "123456", } }
部署環境 阿里雲 CentOS 7.2 64 位
本地項目根目錄(刪除 node_modules,建議依賴在服務器下載)
# tar -zcvf ../file_name.tgz . 打包 # scp ../file_name.tgz remote_username@remote_ip:/root/www/server 上傳到服務器
服務器
# ssh remote_username@remote_ip 鏈接服務器 # cd /root/www # mkdir server 這裏建立server文件夾放node項目代碼 # cd server # tar -zxvf file_name.tgz . 解壓 # cnpm install --production 安裝生產環境依賴
# cnpm i -g pm2 下載pm2
# pm2 start bin/www 守護進程啓動
# pm2 restart app_name|app_id 重啓
# pm2 stop app_name|app_id 中止
# pm2 list 查看進程狀態
# pm2 stop all 中止全部應用
# pm2 start ./bin/www --watch 監聽更改自動重啓
# npm start 運行
# npm stop 中止
3. 阿里 node 性能平臺監控 1. koa 項目(express 項目相似)
# wget -O- https://raw.githubusercontent... | bash 安裝版本管理工具 tnvm
# source ~/.bashrc
# tnvm ls-remote alinode 查看須要的版本
# tnvm install alinode-v3.11.4 安裝須要的版本
# tnvm use alinode-v3.11. 使用須要的版本
新建 config.json 文件以下,從[node 性能平臺](https://node.console.aliyun.com/#!/owned)獲取對應的接入參數
{
"appid": "<YOUR APPID>", "secret": "<YOUR SECRET>" }
# cnpm install @alicloud/agenthub -g 安裝 agenthub
# agenthub start config.json 啓動agenthub
# agenthub list 查看 agenthub 列表
# ENABLE_NODE_LOG=YES pm2 start bin/www 使用pm2管理的應用
2. egg 項目
# cnpm i nodeinstall -g
# nodeinstall --install-alinode ^3
# cnpm i egg-alinode --save
# npm start
// config/plugin.js
exports.alinode = {
enable: true, package: 'egg-alinode',
};
// config/config.default.js
config.alinode = {
appid: '<YOUR_APPID>', secret: '<YOUR_SECRET>',
};
## 部署前端項目(這裏以 vue 爲例) 在項目根目錄`npm run build`,而後把 dist 文件夾裏的內容傳到服務器,這裏咱們把兩個項目分部傳到/root/www/app 和/root/www/admin,記得提早建立 app 和 admin 文件夾 ## 項目實戰 [全棧項目-基於 koa 框架 egg 的服務端接口](https://github.com/majun00/egg-api) 求一個 star~ > 本人水平有限,歡迎你們交流指正。本文爲做者原創,轉載請註明出處。