1,個人安裝環境:CentOS7+Node10.13.0+MongoDB4.0.10。html
2,首先安裝wget,用於下載node等其餘工具node
1 yum install -y wget
編譯依賴 gcc 環境python
1 yum install gcc-c++
第一步:下載Nodelinux
1 wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
1 xz -d node-v10.13.0-linux-x64.tar.xz 2 tar -xf node-v10.13.0-linux-x64.tar
注意:node所在目錄,個人node目錄是~/node-v10.13.0-linux-x64 即在:登陸的root目錄下git
1 ln -s ~/node-v10.13.0-linux-x64/bin/node /usr/bin/node 2 ln -s ~/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm
第四步:檢測是否成功github
輸入node -v 和 npm -v,若是看到版本號,即表示成功 以下圖所示:web
第一步:下載Mongodb正則表達式
1 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.10.tgz # 下載
tar -zxvf mongodb-linux-x86_64-4.0.10.tgz # 解壓 mv mongodb-linux-x86_64-4.0.10/ /usr/local/mongodb # 將解壓包拷貝到指定目錄
第三步:配置系統環境變量
vim /etc/profile
會提示文件已存在,輸入「e」,回車,而後鍵盤按下「i」 ,進入編輯模式便可。在文件的最後加上:
#mongodb
export PATH=$PATH:/usr/local/mongodb/bin
第四步:建立MongoDB數據存放文件夾和日誌記錄文件夾
1 mkdir -p /data/db 2 mkdir -p /logs
第五步:建立MongoDB運行時使用的配置文件
1,進入bin目錄下:cd /usr/local/mongodb/bin
2,建立mongodb.conf配置文件:vim mongodb.conf
會提示是new file,直接輸入下面內容:
1 dbpath = /data/db #數據文件存放目錄 2 logpath = /logs/mongodb.log #日誌文件存放目錄 3 port = 27017 #端口 4 fork = true #以守護程序的方式啓用,即在後臺運行 5 noauth = true # 不進行安全驗證 6 #auth=true #須要認證。若是放開註釋,就必須建立MongoDB的帳號,使用帳號與密碼纔可遠程訪問,第一次安裝建議註釋 7 bind_ip=0.0.0.0 #容許遠程訪問,或者直接註釋,127.0.0.1是隻容許本地訪問
最後「Esc」,按下「:」,輸入「wq」保存退出vim編輯模式便可。注意:註釋符號#和數據之間必須是一個空格。
第六步:啓動MongoDB服務
1,進入bin目錄下:cd /usr/local/mongodb/bin
2,加載配置文件方式啓動:./mongod -f mongodb.conf
即:MongoDB在Linux上的安裝完畢
第七步:檢測是否啓動成功
查看端口映射檢查是否啓動成功:netstat -nltp|grep mongod
如出現以上信息,則表示啓動成功
其餘經常使用命令
1,關閉服務
./mongod --shutdown
1 pkill mongod
直接關掉進程
查看pid:ps -ef | grep mongo 結果的第二列就是pid
kill -9 pid 強制殺死 不建議使用 可能會致使數據丟失
建立Mongodb帳號
進入bin目錄下: cd /usr/local/mongodb/bin
運行mongo命令:mongo
第一步:下載Git
1 wget https://github.com/git/git/archive/v2.14.1.zip
1 yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
1 unzip v2.14.1.zip
第四步:將git安裝到/usr/local/git上
先進入git-2.14.1文件夾, 編譯,安裝
cd git-2.14.1
make
prefix=
/usr/local
all
make
prefix=
/usr/local
install
第五步:驗證是否安裝完成
1 git --version
看到版本號,即表示安裝成功
第一步:安裝
1 npm install -g yapi-cli --registry https://registry.npm.taobao.org
第二步:配置yapi
1 ln -s ~/node-v10.13.0-linux-x64/bin/yapi /usr/bin/yapi
第三步:啓動配置
若是不進行第二步,配置,可能會找不到yapi
yapi server
第四步:打開瀏覽器界面化配置部署
出現以下信息,則表示部署成功
第五步:啓動服務器
node vendors/server/app.js
出現以下信息,則表示啓動成功
在瀏覽器輸入:http://127.0.0.1:3000/ 界面以下:
第一步:安裝所需環境
1,PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,因此須要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也須要此庫。命令:
1 yum install -y pcre pcre-devel
2,zlib 安裝
zlib 庫提供了不少種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,因此須要在 Centos 上安裝 zlib 庫。
1 yum install -y zlib zlib-devel
3,OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不只支持 http 協議,還支持 https(即在ssl協議上傳輸http),因此須要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel
第二步:下載Nginx
1 wget -c https://nginx.org/download/nginx-1.15.8.tar.gz
第三步:解壓
tar -zxvf nginx-1.15.8.tar.gz
cd nginx-1.15.8
第四步:配置
1,使用默認配置
1 ./configure
2.自定義配置(不推薦)
1 ./configure \ 2 --prefix=/usr/local/nginx \ 3 --conf-path=/usr/local/nginx/conf/nginx.conf \ 4 --pid-path=/usr/local/nginx/conf/nginx.pid \ 5 --lock-path=/var/lock/nginx.lock \ 6 --error-log-path=/var/log/nginx/error.log \ 7 --http-log-path=/var/log/nginx/access.log \ 8 --with-http_gzip_static_module \ 9 --http-client-body-temp-path=/var/temp/nginx/client \ 10 --http-proxy-temp-path=/var/temp/nginx/proxy \ 11 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ 12 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ 13 --http-scgi-temp-path=/var/temp/nginx/scgi
注意:將臨時文件目錄指定爲/var/temp/nginx,須要在/var下建立temp及nginx目錄
第五步:編譯安裝
1 make 2 make install
第六步:查看安裝目錄
1 whereis nginx
第七步:配置反向代理
修改配置文件nginx.config
1 cd /usr/local/nginx/conf 2 vim nginx.conf
在配置文件中添加反向代理,YApi頁面使用websocket, 因此,nginx配置須要支持ws:
1 upstream yapi { 2 server 127.0.0.1:3000 weight=5; 3 } 4 5 server { 6 listen 80; 7 server_name localhost www.yapi.top; 8 #charset koi8-r; 9 #access_log logs/host.access.log main; 10 11 location / { 12 proxy_pass http://yapi; 13 proxy_set_header Host $host; 14 proxy_set_header X-Real-IP $remote_addr; 15 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 16 proxy_set_header X-NginX-Proxy true; 17 proxy_set_header Connection "upgrade"; 18 proxy_set_header Upgrade $http_upgrade; 19 } 20 }
第八步:啓動Nginx
1 cd /usr/local/nginx/sbin/ 2 ./nginx
效果以下:
其餘經常使用命令與介紹
./nginx -s quit
:此方式中止步驟是待nginx進程處理任務完畢進行中止。./nginx -s stop
:此方式至關於先查出nginx進程id再使用kill命令強制殺掉進程。
查詢nginx進程:
1 ps aux|grep nginx
1.先中止再啓動(推薦):
對 nginx 進行重啓至關於先中止再啓動,即先執行中止命令再執行啓動命令。以下:
1 ./nginx -s quit 2 ./nginx
2.從新加載配置文件:
當 ngin x的配置文件 nginx.conf 修改後,要想讓配置生效須要重啓 nginx,使用-s reload
不用先中止 ngin x再啓動 nginx 便可將配置信息在 nginx 中生效,以下:
1 ./nginx -s reload
3.開機自啓動
即在rc.local
增長啓動代碼就能夠了。
1 vim /etc/rc.local
增長一行 /usr/local/nginx/sbin/nginx
設置執行權限:
1 chmod 755 rc.local
解決辦法:使用pm2部署
第一步:安裝pm2
1 npm install -g pm2
第二步:配置鏈接pm2
1 ln -s ~/node-v10.13.0-linux-x64/bin/pm2 /usr/bin/pm2
第三步:在項目添加配置文件processes.json
processes.json文件可自定義
添加以下內容
1 { 2 "apps" : [{ 3 "name" : "YingQi", 4 "script": "./server/app.js", 5 "cwd": "./", 6 "watch":[ 7 "server", 8 "static", 9 "test", 10 "exts", 11 "common" 12 ] 13 }] 14 }
第四步:在項目目錄下運行開啓進程便可
1 pm2 start processes.json
出現以下信息,則表示開啓成功
這樣問題就基本解決啦!
其餘經常使用pm2命令
pm2 start app.js -i max # 根據有效CPU數目啓動最大進程數目 pm2 start app.js -i 3 # 啓動3個進程 pm2 start app.js -x #用fork模式啓動 app.js 而不是使用 cluster pm2 start app.js -x -- -a 23 # 用fork模式啓動 app.js 而且傳遞參數 (-a 23) pm2 start app.js --name serverone # 啓動一個進程並把它命名爲 serverone pm2 stop serverone # 中止 serverone 進程 pm2 start app.json # 啓動進程, 在 app.json裏設置選項 pm2 start app.js -i max -- -a 23 #在--以後給 app.js 傳遞參數 pm2 start app.js -i max -e err.log -o out.log # 啓動 並 生成一個配置文件,你也能夠執行用其餘語言編寫的app ( fork 模式): pm2 start my-bash-script.sh -x --interpreter bash pm2 start my-python-script.py -x --interpreter python pm2 start app.js -i 4 #後臺運行pm2,啓動4個app.js # 也能夠把'max' 參數傳遞給 start # 正確的進程數目依賴於Cpu的核心數目 pm2 start app.js --name my-api # 命名進程 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