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的使用;
文件 -- 新建:
接下来就可以输入账号密码登录;(密码需在阿里云实例重置密码,并重启服务器;);
登录成功之后便可操作服务器了;
2.2、Xftp的使用
同理,新建;协议选择:SFTP
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
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 会报错;
3、修改mysql 密码
ALTER USER USER() IDENTIFIED BY '123456';
不出意外的话依旧会报错;
这是密码策略问题;网上找了一些办法修改策略权限,但是都不管用,因为你只要运行其他命令就会报刚刚那错。无奈之下我只好屈服于其淫威之下。改成包含英文大小写、特殊字符和数字的;
ALTER USER USER() IDENTIFIED BY 'Abc123..';
此时会提示修改成功,这次该轮到我来树立规则了;
a.查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
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
环境配置完毕,接下来就是项目部署了,未完,待续!