文章目录
1、理论基础
本文以应用为主,不做过多介绍。
2、部署实操
2.1、准备工作
购买服务器,这一步需要创建好服务器实例,分配好服务器实例。
租用域名,注册好域名之后需要将域名映射到自己服务器对应的 IP地址,这样别人才能通过域名访问到我们的服务器。这个步骤叫做域名解析(配置DNS),通过域名服务商提供的后台就可以操作,一般域名解析都会有延迟,不是即时生效的。
检测域名解析,可以使用ping 域名
命令进行测验。
2.2、服务器环境搭建
2.2.1、客户端链接工具推荐git bash
2.2.2、常用的Linux系统操作命令
# 远程连接命令
ssh root@域名
# 展示当前文件夹路径
pwd
# 切换文件夹目录
cd 目录路径
# 展示当前文件夹中内容
ls
# 编辑文件
vim 文件路径
# 传输文件
scp 本地文件路径 root@域名:远程路径
# 解压文件命令
unzip
# 创建目录
mkdir
2.2.3、安装CentOS开发人员相关包
yum groupinstall 'Development tools'
2.2.4、安装Nginx
# 添加Nginx源
sudo yum install epel-release
# 安装Nginx
sudo yum install nginx
# 启动Nginx
nginx
# 开启服务
systemctl start firewalld.service
# 设置开机启动
systemctl enable firewalld.service
# 查看防火墙状态
systemctl status firewalld
# 配置防火墙规则
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
2.2.5、安装node.js
# yum自带源中没有Node.js,所以首先要获取Node.js资源:
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -
# 安装 Node.js
yum install -y nodejs
# 安装完成之后使用如下指令测试安装是否成功
node -v
# 安装pm2 node.js程序管理工具
npm i pm2 -g
# 使用pm2 启动node.js项目
pm2 start 文件名
# 停止
pm2 stop 文件名或者id
# 从pm2的管理列表中删除
pm2 delete 文件名或者id
2.2.6、安装MySQL
# 下载并安装 MySQL 源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
# 安装 MySQL
sudo yum install mysql-community-server -y
# 如果上一步报错 执行下面的语句 之后 再次执行一下上面的安装Mysql的语句
sudo yum module disable mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
# 启动MySQL
systemctl start mysqld.service
# 找到默认密码
# MySQL安装完毕之后会自动设置一个默认密码,我们需要找到默认密码
grep 'temporary password' /var/log/mysqld.log
# 连接到MySQL数据库,修改密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';
2.2.7、上传网站资源
# 上传文件
scp 本地文件 root@域名:远程路径
# 在服务器创建文件夹
mkdir /home/nginx/
# 把网页文件移动到创建好的文件夹里
mv ./dist.zip /home/nginx/
# 解压压缩文件
cd /home/ningx
unzip ./dist.zip
# 修改文件夹名字
mv dist xxx
2.2.8、配置nginx
# 进入配置文件目录
cd /etc/nginx
# 打开配置文件
vim nginx.conf
# 按i键进出插入模式
# 按一下esc退出编辑模式
# 然后输入:wq下面的内容敲回车
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root xxx;
index index.html index.htm;
}
location ^~/api/ {
proxy_pass http://127.0.0.1:xxxx;
}
location /xxx {
root xxxxx;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
需要注意,资源路径为:
root后的路径
拼接location后的路径
proxy_pass后面的端口号
为后端监听的端口号
2.2.9、后端部署
上传项目压缩文件到服务器,在服务器上解压项目文件到/home/nginx/xxx
,为项目安装依赖npm i
,创建新的数据库create database xxx;
,并启动项目。在之前的nginx配置文件中添加反向代理的配置。最后,使用nginx -s reload
重启nginx。
2.3、常见问题
https://blog.csdn.net/mao_mao37/article/details/129791975
https://blog.csdn.net/m0_62617719/article/details/132893966
https://blog.csdn.net/hhdhz/article/details/85334127
https://blog.csdn.net/qq_43788878/article/details/128233209