前言
楼主是一只前端小菜鸟,因为需要部署自己的项目,所以后端接口是基于NodeJs的,部署过程仅供参考。
Linux常用指令复习:
ls
:展示当前文件夹中的内容pwd
:展示当前文件夹路径cd /
:返回根目录mkdir 目录名
:创建目录touch 文件名
:创建文件echo "内容"
>> 当前目录下的文件名:往文件输入内容查看文件内容
:cat 文件名vim 文件名
:编辑文件exit
:退出移动文件到指定路径
:mv 文件名 路径名解压压缩包
:unzip 压缩包删除文件或目录
:rm -rf (文件|目录)更改文件名
:mv 原本文件名 新文件名复制文件
:cp 文件名 新文件名
进入正题
一、远程连接
1.需要密码:
ssh root@(域名|ip地址)
2.不需要密码:
前置操作,现在本地在自己电脑上生成本地秘钥对
ssh-keygen -t rsa
关于生成的位置(大致如下)
mac:在 ~/.ssh下(id_rsa为私钥,id_rsa.pub为公钥)
windows:在C:\users\用户名.ssh(id_rsa为私钥,id_rsa.pub为公钥)
接着复制公钥里的内容,然后用密码登录到服务器
- 进入根目录下的.ssh目录下:
cd .ssh
,没有该目录则自己创建:mkdir .ssh
- 在.ssh目录下创建authorized_keys文件:
touch authorized_keys
- 往authorized_keys文件写入内容:
echo “复制的公钥内容”>> authorized_keys
- 查看是否成功写入:
cat authorized_keys
二、安装CentOS开发人员相关包
yum groupinstall 'Development tools'
三、安装Nginx
- 添加Nginx源
sudo yum install epel-release
- 安装Nginx
sudo yum install nginx
- 启动Nginx
sudo systemctl start nginx
- 配置防火墙规则(值得注意的是:腾讯云和阿里云的防火墙规则时在云控制台操作的,所以这一步可以省略)
- 添加http协议通行:
sudo firewall-cmd --permanent --zone=public --add-service=http
- 添加https协议通行:
sudo firewall-cmd --permanent --zone=public --add-service=https
- 重启防火墙规则:
sudo firewall-cmd --reload
- 添加http协议通行:
四、安装Node环境
- yum自带源中没有Node.js,所以首先要获取Node.js资源
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -
- 安装Node.js
yum install -y nodejs
五、安装pm2 node.js程序管理工具
- 更改npm源地址:
npm config set registry https://registry.npm.taobao.org
- 检查:
npm config get registry
- 下载pm2
npm i pm2 -g
-
关于pm2的相关操作
- 使用pm2启动node文件:
pm2 start 文件名
- 停止:
pm2 stop (文件名|id)
- 删除:
pm2 delete (文件名|id)
- 使用pm2启动node文件:
六、安装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
ps:如果上一步出错,可执行下面的语句忽略掉yum自带的mysql模块,然后再次执行上一步的安装MySQL语句
sudo yum module disable mysql
- 启动mysql
sudo systemctl start mysqld
- 密码
查看默认密码,MySQL安装完毕之后会自动设置一个默认密码:
grep 'temporary password' /var/log/mysqld.log
修改默认密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
- MySQL退出:
quit
七、上传网站资源
- 使用scp
scp 文件 root@(域名|ip):~/
- 最好把文件打包成zip然后再上传,其次在服务器解压出来
unzip 文件
八、配置Nginx
- 到nginx目录下的conf.d目录里
cd /etc/nginx/conf.d
- 创建配置文件
touch XXX.conf
- 编写配置文件
vim XXX.conf
ps: i为插入内容,Esc退出编辑模式,:wq退出vim模式
- 重启nginx
关闭:systemctl stop nginx(无效可以试试nginx -s stop)
启动:nginx
九、接口项目部署
- 上传项目压缩文件到服务器
scp 文件 root@(域名|ip):~/
- 修改mysql数据库密码规则
登录:mysql -uroot -p
use mysql;
修改密码过期时间:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
修改密码规则:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Duyi_666duyi';
- 查看是否修改成功
select user,host,plugin from user where user='root';
- 根据项目要求创建数据库
在mysql命令下: create database 数据库名
- 接口需要配置ngnix反向代理,切换到nginx下的conf.d目录下创建的配置文件,往里面添加如下配置
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:3000;
}
- 重启nginx
nginx -s reload