一喜每、阿里云服務(wù)器從購買到部署 nodejs+vue

最近在學(xué)習(xí)微信小程序,就順便想了解下上線的那套部署流程~
服務(wù)器:阿里云 ECS共享型 n4云服務(wù)器
后端:NodeJs
數(shù)據(jù)庫:MySQL
前端:Vue

一雳攘、服務(wù)器購買與搭建MySQL

1.1 服務(wù)器購買

圖1-1:服務(wù)器一般有阿里云灼卢,百度云,騰訊云来农,各自選擇即可鞋真,我這里選擇阿里云

圖1-1

圖1-2:購買成功后,可以在“管理控制臺中”看到
圖1-2

圖1-3

1.2 連接服務(wù)器

連接的方式有很多種沃于,這里以阿里云網(wǎng)頁連接為列涩咖,還有Xshell軟件
密碼重置與遠(yuǎn)程連接(端口默認(rèn)22)

圖1-3

圖1-4

至此,服務(wù)器連接成功繁莹。

1.3 CentOS-8安裝mysql-8.0

  1. 通過以root用戶使用CentOS軟件包管理器來安裝MySQL 8.0服務(wù)器:
    sudo dnf install @mysql
    圖1-5

    會自動下載檩互,下載完畢后,直接啟動mysql服務(wù)
  2. 啟動mysql服務(wù)
    systemctl start mysqld.service
    圖1-6
  3. 登錄mysql
    mysql -u root -p
    圖1-7

    圖1-8
  4. 修改mysql密碼
    ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼';
    圖1-9
  5. 創(chuàng)建遠(yuǎn)程訪問
CREATE USER 'root'@'%' IDENTIFIED BY '你設(shè)置的密碼';
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你設(shè)置的密碼';
圖1-10
  1. 訪問
    關(guān)閉防火墻 或者 開啟我們的3306端口就可以進(jìn)行訪問了
# 查看firewall服務(wù)狀態(tài)
systemctl status firewalld

# 開啟咨演、重啟闸昨、關(guān)閉、firewalld.service服務(wù)
# 開啟
service firewalld start
# 重啟
service firewalld restart
# 關(guān)閉
service firewalld stop

# 查看防火墻規(guī)則
firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息

# 開啟端口
開端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重啟防火墻:systemctl restart firewalld.service

命令含義:
--zone #作用域
--add-port=80/tcp  #添加端口薄风,格式為:端口/通訊協(xié)議
--permanent   #永久生效饵较,沒有此參數(shù)重啟后失效

關(guān)閉防火墻(不建議)

systemctl stop firewalld.service

開啟端口(建議)

firewall-cmd --zone=public --add-port=3306/tcp --permanent
圖1-11

成功之后我們需要重啟我們的防火墻

systemctl restart firewalld.service
圖1-12

然后就可以連接啦~


圖1-13

如果不行,檢查下阿里云服務(wù)器MySQL是否開啟了遠(yuǎn)程訪問(見1.4)

1.4 阿里云服務(wù)器MySQL開啟遠(yuǎn)程訪問

上一步連接成功的遭赂,可以跳過此步~
登錄阿里云進(jìn)入控制臺循诉,依次訪問 實例 ->(升降配下的)更多 -> 網(wǎng)絡(luò)和安全組 -> 安全組配置 -> 配置規(guī)則

圖1-14

圖1-15

圖1-16

二、部署后端包(nodejs)

2.1 安裝 nodejs

在 node 官網(wǎng)上下載對應(yīng)的安裝包撇他,上傳到服務(wù)器并解壓茄猫,我把安裝包放在 /usr/local/lib/nodejs 下,執(zhí)行以下5句

# 創(chuàng)建nodejs文件夾困肩,并上傳nodejs壓縮包
mkdir /usr/local/lib/nodejs
# 解壓nodejs壓縮包
tar -xzvf /usr/local/lib/nodejs/node-v12.12.0-linux-x64.tar.gz -C /usr/local/lib/nodejs
# 重命名為node-v12.12.0
mv /usr/local/lib//nodejs/node-v12.12.0-linux-x64  /usr/local/lib/nodejs/node-v12.12.0
# 建立軟連接  在 bin 下創(chuàng)建 node划纽、npm快捷方式,方便全局使用
ln -s /usr/local/lib/nodejs/node-v12.12.0/bin/npm /usr/local/bin
ln -s /usr/local/lib/nodejs/node-v12.12.0/bin/node /usr/local/bin

2.2 測試 nodejs是否安裝成功

圖2-1

2.3 上傳后端代碼

我是以nodejs作為后端滴

# 1. 進(jìn)入/usr/local文件夾
cd /usr/local
# 2. 創(chuàng)建develop文件夾,用于放前后端代碼
mkdir develop
# 3. 進(jìn)入develop文件夾锌畸,并上傳node服務(wù)代碼
cd develop
# 4. 安裝依賴包
npm i
# 5. 安裝supervisor (supervisor 是 node 應(yīng)用的進(jìn)程管理器)
npm install supervisor -g
  • 注意:執(zhí)行supervisor app.js時勇劣,如果遇到報"-bash: supervisor: command not found", supervisor已經(jīng)安裝的情況下,請注意看下是否裝在 /usr/local/bin/ 目錄下蹋绽;如果不是說明安裝目錄不對芭毙,Mac默認(rèn)訪問執(zhí)行文件的目錄在 /usr/local/bin/筋蓖,所以需要保證我們的執(zhí)行模塊安裝在該目錄下。


    圖2-2
  • 解決辦法如下
npm config get prefix                        // 獲取npm全局安裝目錄
npm config set prefix /usr/local        // 修改安裝目錄為Mac可執(zhí)行文件目錄退敦;注意這里不需要加上/bin
npm install supervisor -g
supervisor app.js

2.4 開啟后端端口

  1. 檢查防火墻是否開啟


    圖2-3
  2. 查看端口是否開放(這里后端開啟13666端口)
# 查看13666端口是否開放  yes表示開啟粘咖;no表示未開啟。
firewall-cmd --query-port=13666/tcp
# 添加指定需要開放的端口:
firewall-cmd --add-port=13666/tcp --permanent
# 重載入添加的端口:
firewall-cmd --reload
# 查詢指定端口是否開啟成功:
firewall-cmd --query-port=13666/tcp
圖2-4

2.5 守護(hù)進(jìn)程--supervisord

到這里侈百,nodejs和后端就部署完成啦~但還差一步就是安裝守護(hù)進(jìn)程supervisord并設(shè)置開機(jī)自啟動瓮下,因為如果不安裝supervisord,當(dāng)我們關(guān)閉xshell時后端就會停止服務(wù)钝域,所以我們需要一個工具去讓我們的后端進(jìn)程一直開啟讽坏,這就是supervisord存在的意義(當(dāng)然守護(hù)進(jìn)程還有很多 這里以supervisord為例)

  1. 安裝supervisor
    yum install -y supervisor
    圖2-5
  2. 設(shè)置開機(jī)自啟動
    systemctl enable supervisord
  3. supervisord管理命令
systemctl stop supervisord
systemctl start supervisord
systemctl status supervisord
systemctl reload supervisord
systemctl restart supervisord
圖2-6
  1. 修改配置文件
    輸入指令vim /etc/supervisord.conf
    圖2-7

    輸入指令cat /etc/supervisord.conf
    圖2-8

    圖2-9
  2. 創(chuàng)建Supervisord文件
mkdir /etc/supervisord.d
cd /etc/supervisord.d
touch supervisord.ini

圖2-10

輸入指令vim /etc/supervisord.d/supervisord.ini并粘貼下列代碼

#這里的node-supervisord就是我們顯示在web前端以及終端的監(jiān)控名稱
[program:node-supervisord]
#啟動命令 : 此處我的node服務(wù)啟動命令是supervisor app.js (/usr/local/develop/back-end/app.js為我們要監(jiān)控的文件地址)
command=supervisor /usr/local/develop/back-end/app.js  
autostart=true
autorestart=true
startsecs=1
startretries=3
redirect_stderr=true
 #日志地址,可自行配置目錄(需要自己創(chuàng)建)
stdout_logfile=/etc/supervisord.log/access_supervisord.log  
#日志地址例证,可自行配置目錄(需要自己創(chuàng)建)
stderr_logfile=/etc/supervisord.log/error_supervisord.log     
圖2-11
  1. 創(chuàng)建日志文件
mkdir /etc/supervisord.log
cd /etc/supervisord.log
touch {error_supervisord.log,access_supervisord.log}
圖2-12
  1. 重啟supervisor
    輸入命令systemctl restart supervisord
    圖2-13

    # 參考Centos7.x 安裝 Supervisord

三路呜、安裝nginx

在linux下安裝nginx,首先需要安裝 gcc-c++編譯器织咧。然后安裝nginx依賴的pcre和zlib包胀葱。最后安裝nginx即可。

# 1.先安裝gcc-c++編譯器
yum install gcc-c++
yum install -y openssl openssl-devel
# 2.再安裝pcre包
yum install -y pcre pcre-devel
# 3.再安裝zlib包
yum install -y zlib zlib-devel
# 4. 添加rpm源(一般/etc放配置文件笙蒙,/usr/local放用戶代碼)
rpm -Uvh [http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm](https://links.jianshu.com/go?to=http%3A%2F%2Fnginx.org%2Fpackages%2Fcentos%2F7%2Fnoarch%2FRPMS%2Fnginx-release-centos-7-0.el7.ngx.noarch.rpm)
# 5. 查看源是否添加成功
yum search nginx
# 6. 安裝nginx
yum install -y nginx
# 7. 設(shè)置開機(jī)自啟動
systemctl enable nginx
# 8. 允許HTTP和HTTPS通信
sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

圖3-1:安裝nginx


圖3-1

圖3-2:查看nginx狀態(tài)是否為active


圖3-2

圖3-3:查看nginx開啟的端口(nginx 默認(rèn)80端口)
圖3-3

圖3-4:修改nginx端口為8081


圖3-4

圖3-5:重啟nginx抵屿,并查看8081端口是否開啟
圖3-5

圖3-6: 開放8081端口
圖3-6

圖3-7:查看url是否可達(dá)
圖3-7

圖3-8:外網(wǎng)映射
圖3-8

圖3-9

圖3-10:訪問 公網(wǎng)ip+nginx端口


圖3-10
  • 最后設(shè)置開機(jī)自啟動
    systemctl enable nginx

四、部署前端包

  1. 將前端包放到/usr/local/develop/web-front-end中


    圖4-1
  2. 修改nginx配置(/etc/nginx/nginx.conf)


    圖4-2
  3. 重啟nginx
    systemctl restart nginx
  4. 訪問 公網(wǎng)ip+nginx端口


    圖4-3

文件位置

nodejs包:/usr/local/lib/nodejs
后端代碼:/usr/local/develop/back-end
前端代碼:/usr/local/develop/web-front-end
nginx:/etc/nginx
supervisor配置文件(修改ip捅位、端口等): /etc/supervisord.conf
supervisor設(shè)置啟動命令:/etc/supervisord.d/supervisord.ini
supervisor日志文件:/etc/supervisord.log

常用指令

(1)基本命令
創(chuàng)建a文件夾 :mkdir /usr/local/lib/a
創(chuàng)建b文件:touch b.txt
創(chuàng)建c轧葛、d文件:touch {c.txt,d.txt}
解壓a.tar.gz壓縮包:tar -xzvf /usr/local/lib/nodejs/a.tar.gz -C /usr/local/lib/nodejs
重命名為b:mv /usr/local/lib/nodejs/a  /usr/local/lib/nodejs/b
建立軟連接  在 bin 下創(chuàng)建 node、npm快捷方式,方便全局使用:
ln -s /usr/local/lib/nodejs/node-v12.12.0/bin/npm /usr/local/bin
ln -s /usr/local/lib/nodejs/node-v12.12.0/bin/node /usr/local/bin

(2)查看防火墻狀態(tài)
查看防火墻狀態(tài):systemctl status firewalld
開啟防火墻:systemctl start firewalld    或    service firewalld start 
關(guān)閉防火墻:systemctl stop firewalld    或     service firewalld stop
重啟防火墻:systemctl restart firewalld   或 service firewalld restart
設(shè)置開機(jī)自啟動:systemctl enable firewalld
# 查看防火墻規(guī)則
查看全部信息 firewall-cmd --list-all
只看端口信息firewall-cmd --list-ports

若遇到無法開啟
先用:systemctl unmask firewalld.service 
然后:systemctl start firewalld.service

(3)查看對外開放的端口狀態(tài)
查詢已開放的端口:netstat -anp
查詢指定端口是否已開 :firewall-cmd --query-port=666/tcp (提示 yes艇搀,表示開啟尿扯;no表示未開啟。)
查詢nginx進(jìn)程:netstat -anop | grep nginx
殺進(jìn)程:kill -9 進(jìn)程pId

(4)對外開發(fā)端口
查看想開的端口是否已開:firewall-cmd --query-port=6379/tcp
添加指定需要開放的端口:firewall-cmd --add-port=123/tcp --permanent
重載入添加的端口:firewall-cmd --reload
查詢指定端口是否開啟成功:firewall-cmd --query-port=123/tcp
移除指定端口:firewall-cmd --permanent --remove-port=123/tcp

(5)supervisor
停止:systemctl stop supervisord
開啟:systemctl start supervisord
查看狀態(tài):systemctl status supervisord
重載:systemctl reload supervisord
重啟:systemctl restart supervisord
開機(jī)自啟動:systemctl enable supervisord

(6)虛擬機(jī)相關(guān)
查看虛擬機(jī)列表:virsh list --all
虛擬機(jī)關(guān)機(jī):virsh shutdown 虛擬機(jī)名稱
虛擬機(jī)開機(jī):virsh start 虛擬機(jī)名稱

(7)服務(wù)器相關(guān)
服務(wù)器立即關(guān)機(jī):shutdown -h now
服務(wù)器重啟:reboot

(8) 其他
url是否可達(dá):curl -XGET http://1.1.1.1:8081
后臺運行進(jìn)程:nohup 命令 &     
             示例:nohup node app.js &中符,這種關(guān)閉xshell姜胖,進(jìn)程就關(guān)了,所以需要寫啟動關(guān)閉腳本 + 服務(wù)

推薦文章

二淀散、阿里云服務(wù)器配置https

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚜锨,隨后出現(xiàn)的幾起案子档插,更是在濱河造成了極大的恐慌,老刑警劉巖亚再,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郭膛,死亡現(xiàn)場離奇詭異,居然都是意外死亡氛悬,警方通過查閱死者的電腦和手機(jī)则剃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門耘柱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人棍现,你說我怎么就攤上這事调煎。” “怎么了己肮?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵士袄,是天一觀的道長。 經(jīng)常有香客問我谎僻,道長娄柳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任艘绍,我火速辦了婚禮赤拒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诱鞠。我一直安慰自己需了,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布般甲。 她就那樣靜靜地躺著肋乍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敷存。 梳的紋絲不亂的頭發(fā)上墓造,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機(jī)與錄音锚烦,去河邊找鬼觅闽。 笑死,一個胖子當(dāng)著我的面吹牛涮俄,可吹牛的內(nèi)容都是我干的蛉拙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼彻亲,長吁一口氣:“原來是場噩夢啊……” “哼孕锄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起苞尝,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤畸肆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宙址,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轴脐,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了大咱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恬涧。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖碴巾,靈堂內(nèi)的尸體忽然破棺而出溯捆,到底是詐尸還是另有隱情,我是刑警寧澤餐抢,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布现使,位于F島的核電站,受9級特大地震影響旷痕,放射性物質(zhì)發(fā)生泄漏碳锈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一欺抗、第九天 我趴在偏房一處隱蔽的房頂上張望售碳。 院中可真熱鬧,春花似錦绞呈、人聲如沸贸人。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艺智。三九已至,卻和暖如春圾亏,著一層夾襖步出監(jiān)牢的瞬間十拣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工志鹃, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留夭问,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓曹铃,卻偏偏與公主長得像缰趋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子陕见,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容