天天看點

egg.js+vue.js 雲伺服器部署 -- 環境配置

最近用egg+mysql+vue3.0+ts寫了個自己的網站,并放到伺服器。由于是第一次部署伺服器,都是自己摸索和網友協助完成。

寫個流程防止以後忘記;

前端是用vue3.0全家桶+ts;後端是egg.js+mysql;該博文不涉及項目内容,後續有時間再寫個項目篇;

1、既然是雲伺服器部署,肯定得先購買伺服器,部落客是個前端小白,對伺服器也是一無所知,是以買了個阿裡雲最便宜的練練手(1 vCPU 1 GiB 1Mbps CentOS 7.6),一年不到600大洋;

2、購買之後登入阿裡雲 -- 執行個體下就能找到自己剛剛購買的伺服器了。接下來就是要進入伺服器安裝各種環境了。下載下傳XShell和Xftp 這兩工具。XShell 用于運作各種指令操作,Xftp用于上傳檔案;阿裡雲上也可直接遠端連接配接,第一次使用會提供一個6位數連接配接密碼,自行儲存并修改密碼;

2.1、XShell的使用;

檔案 -- 建立:
egg.js+vue.js 雲伺服器部署 -- 環境配置
接下來就可以輸入賬号密碼登入;(密碼需在阿裡雲執行個體重置密碼,并重新開機伺服器;);
egg.js+vue.js 雲伺服器部署 -- 環境配置
登入成功之後便可操作伺服器了;

2.2、Xftp的使用

同理,建立;協定選擇:SFTP
egg.js+vue.js 雲伺服器部署 -- 環境配置

3、工具安裝好了,接下來就是配置各種環境了。

3.1 node 環境配置;

node下載下傳位址:https://nodejs.org/zh-cn/download/

1、選擇目錄并下載下傳node壓縮包 v10.15.1;(我放在了/usr/src/)

wget  https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz
           
2、将tar.xz 解壓成 .tar
xz -d node-v10.15.1-linux-x64.tar.xz 
           
3、解壓tar包
tar -xvf node-v10.15.1-linux-x64.tar 
           
4、添加軟連接配接
ln -s /usr/src/node-v10.15.1-linux-x64/bin/npm /usr/local/bin/ 
ln -s /usr/src/node-v10.15.1-linux-x64/bin/node /usr/local/bin/
           
5、檢查node是否安裝成功
node --version
v10.15.1
--version
6.4.1
           

3.2 cnpm 安裝

1、由于我的egg.js項目 npm 下載下傳依賴包老是報錯,要用cnpm下載下傳包,幹脆把cnpm一起安裝了;

npm install -g cnpm --registry=https://registry.npm.taobao.org
           
2、添加軟連接配接;(由于我的egg.js egg-sequelize 初始化mysql需要用到npx,是以一起添加了軟連接配接)
ln -s /usr/src/node-v10.15.1-linux-x64/bin/cnpm /usr/local/bin/
ln -s /usr/src/node-v10.15.1-linux-x64/bin/npx /usr/local/bin/
           

3.3 mysql安裝

我的背景資料是用mysql儲存,是以先安裝mysql; 這個就就用 汪神的博文記錄下在阿裡雲linux上安裝與配置Mysq

https://www.cnblogs.com/wangshen31/p/9556804.html

1、安裝完之後登入mysql,首次登入先擷取臨時密碼;

grep "password" /var/log/mysqld.log
           
2、登入mysql;
mysql -u root -p
           
此時我們操作mysql 會報錯;
egg.js+vue.js 雲伺服器部署 -- 環境配置

需要我們修改mysql密碼;

3、修改mysql 密碼

ALTER USER USER() IDENTIFIED BY '123456';
           
不出意外的話依舊會報錯;
egg.js+vue.js 雲伺服器部署 -- 環境配置
這是密碼政策問題;網上找了一些辦法修改政策權限,但是都不管用,因為你隻要運作其他指令就會報剛剛那錯。無奈之下我隻好屈服于其淫威之下。改成包含英文大小寫、特殊字元和數字的;
ALTER USER USER() IDENTIFIED BY 'Abc123..';
           

此時會提示修改成功,這次該輪到我來樹立規則了;

a.檢視 mysql 初始的密碼政策 

SHOW VARIABLES LIKE 'validate_password%';
           
egg.js+vue.js 雲伺服器部署 -- 環境配置
b.設定密碼的驗證強度等級
set global validate_password_policy=LOW; 
           
c.設定密碼長度
set global validate_password_length=6;
           
可以通過指令自行設定密碼政策;
關于 mysql 密碼政策相關參數;
1)、validate_password_length  固定密碼的總長度;
2)、validate_password_dictionary_file 指定密碼驗證的檔案路徑;
3)、validate_password_mixed_case_count  整個密碼中至少要包含大/小寫字母的總個數;
4)、validate_password_number_count  整個密碼中至少要包含阿拉伯數字的個數;
5)、validate_password_policy 指定密碼的強度驗證等級,預設為 MEDIUM;
關于 validate_password_policy 的取值:
0/LOW:隻驗證長度;
1/MEDIUM:驗證長度、數字、大小寫、特殊字元;
2/STRONG:驗證長度、數字、大小寫、特殊字元、字典檔案;
6)、validate_password_special_char_count 整個密碼中至少要包含特殊字元的個數;
           
 MySQL預設root使用者隻能本地登入,如果要遠端連接配接:下面2條指令;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
flush privileges;
           
然後阿裡雲上安全組開放3306 端口;

3.4 安裝nginx

參考 https://blog.csdn.net/qq_32953079/article/details/81975160

順便把git也安裝了
yum install git
           

環境配置完畢,接下來就是項目部署了,未完,待續!

繼續閱讀