使用华为云服务器从零部署node接口

589 阅读2分钟

承接上篇 华为云服务器从零搭建web应用,继续使用华为云服务器,去部署一个接口服务。

安装nginx

  1. 要安装 nginx,使用以下命令:
yum install nginx
  1. 验证安装是否成功
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

  1. 下载
wget -c https://nodejs.org/dist/v14.18.1/node-v14.18.1-linux-x64.tar.xz
  1. 解压
xz -d node-v14.18.1-linux-x64.tar.xz
tar -xvf node-v14.18.1-linux-x64.tar
  1. 重命名
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

如图所示: image.png 点击esc退出编辑模式,然后输入 :wq 回车,保存文件

3.开启服务

// 开启node服务
pm2 start server
// 重启 nginx
nginx -s reload
// 查看所有的应用进程
pm2 list

在浏览器里,输入对应地址,如图所示:

image.png 大功告成了吗? 别着急,再部署一个vue项目

部署vue项目

1.打包上传

// 在vue根目录下执行,打包出静态资源文件/dist
npm run build 
// 上传文件到服务器
scp -r dist root@xx.xx.xx.xx:/home 
// 修改文件名
mv dist dreams

2.修改nginx配置,如图所示:

image.png 3.重新加载nginx

nginx -s reload

4.css,js资源请求不到?

原因就是项目部署在域名下的二级目录,但是请求的资源还是域名的根目录,所以会出现找不到路径的问题。

publicPath 就是为此而生的,publicPath设置的就是项目文件根路径,在生产模式下将其从/ 改为 /dreams/,并重新打包部署。

vue项目请求的接口也是之前部署好的node接口,至此大功告成。最终结果如图:

image.png