承接上篇 华为云服务器从零搭建web应用,继续使用华为云服务器,去部署一个接口服务。
安装nginx
- 要安装
nginx,使用以下命令:
yum install nginx
- 验证安装是否成功
nginx -v
输出nginx的版本号,表示安装成功。
3.启动nginx服务器
service nginx start
// 或
systemctl start nginx
4.关闭nginx服务器
service nginx stop
// 或
systemctl stop nginx
// 或
nginx -s stop
5.重启nginx服务器
service nginx restart
// 或
systemctl restart nginx
6.系统启动时,启动nginx服务器
systemctl enable nginx
安装node
- 下载
wget -c https://nodejs.org/dist/v14.18.1/node-v14.18.1-linux-x64.tar.xz
- 解压
xz -d node-v14.18.1-linux-x64.tar.xz
tar -xvf node-v14.18.1-linux-x64.tar
- 重命名
mv node-v14.18.1-linux-x64 node
4.配置环境变量
vim /etc/profile
// 加入内容
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
5.点击esc退出编辑模式,然后输入 :wq 回车,保存文件
6.执行source才能使用环境变量立即有效
source /etc/profile
7.检测是否安装成功
node -v
安装pm2
1.安装
npm install pm2 -g
2.查看pm2是否安装成功
pm2 -v
安装git
1.安装
yum install git
2.查看git是否安装成功
git --version
安装mysql
1.安装
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
2.启动 MySQL
systemctl start mysqld
3.MySQL安装成功后,默认的root用户密码为空,需要设置密码:
mysqladmin -u root password "123456";
4.执行简单的SQL命令
mysql // 进入mysql服务器,如果设置密码需要 mysql -uroot -p123456
show databases; // 查看数据库
use xxx; // 进入名为xxx的数据库
show tables; // 查看当前数据库的所有表
select * from xxx; // 查看名为xxx表的数据
5.通过.sql文件导入数据
mysql -uroot -p123456 < xxx.sql // 其中xxx.sql是目标sql文件
6.退出mysql服务
quit
部署node服务
1.上传本地node文件到云服务器
// 直接上传目录
scp -r project root@xx.xx.xx.xx:/root
// 先压缩目录,再上传文件
tar -cvzf project.tar project
scp project.tar root@xx.xx.xx.xx:/root
// 上传到服务器之后,进行解压
tar -xvzf project.tar
rm -rf project.tar
// 改名
mv project node-server
// 如果原来有软链接,就删除
rm 链接名
// 建立软链接
ln -s node-server server
2.修改nginx文件
vim /etc/nginx/nginx.conf
如图所示:
点击
esc退出编辑模式,然后输入 :wq 回车,保存文件
3.开启服务
// 开启node服务
pm2 start server
// 重启 nginx
nginx -s reload
// 查看所有的应用进程
pm2 list
在浏览器里,输入对应地址,如图所示:
大功告成了吗? 别着急,再部署一个vue项目
部署vue项目
1.打包上传
// 在vue根目录下执行,打包出静态资源文件/dist
npm run build
// 上传文件到服务器
scp -r dist root@xx.xx.xx.xx:/home
// 修改文件名
mv dist dreams
2.修改nginx配置,如图所示:
3.重新加载
nginx
nginx -s reload
4.css,js资源请求不到?
原因就是项目部署在域名下的二级目录,但是请求的资源还是域名的根目录,所以会出现找不到路径的问题。
publicPath 就是为此而生的,publicPath设置的就是项目文件根路径,在生产模式下将其从/ 改为 /dreams/,并重新打包部署。
vue项目请求的接口也是之前部署好的node接口,至此大功告成。最终结果如图: