若是你對nodejskoa2vuejs等感興趣,請加QQ羣:732189938
或者直接點擊連接加入羣聊【Node.js/Koa2/vuejs】:https://jq.qq.com/?_wv=1027&k...vue
全新ubuntu請先執行如下命令安裝經常使用工具node
sudo apt-get install git vim wget curl openssl build-essential libssh-dev
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
npm install pm2 -g
若是服務器已經安裝了apache須要先卸載掉,由於apache佔用80端口會致使nginx沒法啓動
依次執行如下命令python
sudo service apache2 stop update-rc.d -f apache2 remove sudo apt-get remove apache2
更新包列表nginx
sudo apt-get update
安裝git
sudo apt-get install nginx
cd /etc/nginx/conf.d
建立綁定域名的虛擬機配置文件,例如:你所綁定的域名是 fuck.baidu.net 項目所在的node端口是6661github
vi fuck-baidu-net-6661.conf
將如下配置內容粘貼進去,根據實際狀況自行修改web
server { listen 80; listen [::]:80; server_name baidu.com; root /var/www/baidu.com/; # logging access_log /var/log/nginx/baidu.com.access.log; error_log /var/log/nginx/baidu.com.error.log warn; # reverse proxy location / { proxy_pass http://127.0.0.1:3000; } }
重啓以前,能夠先檢測一下配置規則mongodb
sudo nginx -t
執行上面的命令若是出現下面的提示apache
sudo: unable to resolve host XXX
則執行npm
vi /etc/hosts
修改 127.0.1.1 hostname 爲 127.0.1.1 XXX
重啓nginx
sudo nginx -s reload
官網安裝說明 https://docs.mongodb.com/manu...
根據安裝說明執行完第一步。將第二步中的安裝源換成阿里雲的鏡像安裝會比較快,以下:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
將上面的部分替換以下
echo "deb [ arch=amd64,arm64 ] https://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
更新源
sudo apt-get update
正式安裝
sudo apt-get install -y mongodb-org
經常使用命令
sudo service mongod start sudo service mongod stop sudo service mongod restart
在使用SSH協議訪問項目倉庫以前,須要先配置好帳戶/項目的SSH公鑰。本地和服務器均執行
你能夠按以下命令來生成 sshkey:
這一步請慎重,若是你已經生成過而且有在使用的key這一步就不要再執行了,不然會覆蓋以前生成的key致使你其它須要使用這個key的沒法訪問
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
按照提示完成三次回車,便可生成 ssh key。經過查看 ~/.ssh/id_rsa.pub 文件內容,獲取到你的 public key
cat ~/.ssh/id_rsa.pub
將ssh key複製添加到git倉庫中 碼雲官方說明見這裏 https://gitee.com/help/articl...
測試是否成功
github
ssh -T git@github.com
碼雲
ssh -T git@gitee.com
ssh-copy-id username@ip-address
按提示輸入服務器密碼,完成後會有以下提示
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@114.xxx.xxx.xx'" and check to make sure that only the key(s) you wanted were added.
使用以下命令測試是否能夠鏈接服務器成功
ssh 'root@114.xxx.xxx.xx'
(好比阿里雲服務器在建立實例的時候能夠設置密鑰對鏈接,阿里雲會自動生成密鑰文件並下載提供給你保存)
先建立ssh代理,執行以下命令
eval $(ssh-agent -s)
將阿里雲下載的密鑰文件添加進來,下面的密鑰文件路徑修改成你本身的
ssh-add ~/.ssh/aliyun-ssh-key.pem
這樣就能夠實現本地終端免密碼登錄鏈接服務器了
在本地終端執行下面的命令來進行第一次部署並填充遠程路徑
pm2 deploy production setup
每次本地git提交代碼後在本地終端執行下面的名來實現自動拉取git倉庫中的代碼並部署
pm2 deploy production
pm2 startup pm2 save
不得不說Let's Encrypt證書作的簡直太方便了,幾個命令全自動搞定,無需手動作任何修改配置
依次執行下面的命令( 其它操做系統請自行在官方查看使用方法 https://certbot.eff.org/lets-... )
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot / certbot sudo apt-get update sudo apt-get install python-certbot-nginx
安裝
sudo certbot --nginx
執行上面的命令後會提示你輸入你的郵箱,會檢測到你nginx配置的域名,選擇你要生成證書的域名序號便可;還會提示你是否在用戶使用http訪問的時候自動跳轉到https訪問,序號1是不跳轉,序號2是自動跳轉,建議選2
每次生成的證書有效期是90天,到期後須要從新申請,若是你想在證書到期前自動續訂能夠執行
sudo certbot renew --dry-run
這樣certbot會在證書到期時自動幫你續訂證書,這就至關於你有了永久的免費SSL證書了
$ pm2 list # 顯示全部進程狀態 $ pm2 monit # 監視全部進程 $ pm2 logs # 顯示全部進程日誌 $ pm2 stop all # 中止全部進程 $ pm2 restart all # 重啓全部進程 $ pm2 reload all # 0 秒停機重載進程 (用於 NETWORKED 進程) $ pm2 stop 0 # 中止指定的進程 $ pm2 restart 0 # 重啓指定的進程 $ pm2 startup # 產生 init 腳本 保持進程活着 $ pm2 web # 運行健壯的 computer API endpoint (http://localhost:9615) $ pm2 delete 0 # 殺死指定的進程 $ pm2 delete all # 殺死所有進程