如何在Linux上部署你的项目

前言

楼主是一只前端小菜鸟,因为需要部署自己的项目,所以后端接口是基于NodeJs的,部署过程仅供参考。

Linux常用指令复习:

  1. ls:展示当前文件夹中的内容
  2. pwd:展示当前文件夹路径
  3. cd / :返回根目录
  4. mkdir 目录名:创建目录
  5. touch 文件名:创建文件
  6. echo "内容" >> 当前目录下的文件名:往文件输入内容
  7. 查看文件内容:cat 文件名
  8. vim 文件名:编辑文件
  9. exit:退出
  10. 移动文件到指定路径:mv 文件名 路径名
  11. 解压压缩包:unzip 压缩包
  12. 删除文件或目录:rm -rf (文件|目录)
  13. 更改文件名:mv 原本文件名 新文件名
  14. 复制文件: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为公钥)

接着复制公钥里的内容,然后用密码登录到服务器

  1. 进入根目录下的.ssh目录下:cd .ssh,没有该目录则自己创建:mkdir .ssh
  2. 在.ssh目录下创建authorized_keys文件:touch authorized_keys
  3. 往authorized_keys文件写入内容:echo “复制的公钥内容”>> authorized_keys
  4. 查看是否成功写入:cat authorized_keys

二、安装CentOS开发人员相关包

yum groupinstall 'Development tools'

三、安装Nginx

  1. 添加Nginx源sudo yum install epel-release
  2. 安装Nginxsudo yum install nginx
  3. 启动Nginxsudo systemctl start nginx
  4. 配置防火墙规则(值得注意的是:腾讯云和阿里云的防火墙规则时在云控制台操作的,所以这一步可以省略)
    1. 添加http协议通行:sudo firewall-cmd --permanent --zone=public --add-service=http
    2. 添加https协议通行:sudo firewall-cmd --permanent --zone=public --add-service=https
    3. 重启防火墙规则:sudo firewall-cmd --reload

四、安装Node环境

  1. yum自带源中没有Node.js,所以首先要获取Node.js资源
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -
  1. 安装Node.js
yum install -y nodejs

五、安装pm2 node.js程序管理工具

  1. 更改npm源地址:
npm config set registry https://registry.npm.taobao.org
  1. 检查:
npm config get registry
  1. 下载pm2
npm i pm2 -g
  1. 关于pm2的相关操作

    1. 使用pm2启动node文件:pm2 start 文件名
    2. 停止:pm2 stop (文件名|id)
    3. 删除:pm2 delete (文件名|id)

六、安装MySQL

  1. 下载并安装MySQL源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
  1. 安装MySQL
sudo yum install mysql-community-server -y

ps:如果上一步出错,可执行下面的语句忽略掉yum自带的mysql模块,然后再次执行上一步的安装MySQL语句

sudo yum module disable mysql
  1. 启动mysql
sudo systemctl start mysqld
  1. 密码
    查看默认密码,MySQL安装完毕之后会自动设置一个默认密码:
grep 'temporary password' /var/log/mysqld.log

修改默认密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
  1. MySQL退出:
quit

七、上传网站资源

  1. 使用scp
scp 文件 root@(域名|ip):~/
  1. 最好把文件打包成zip然后再上传,其次在服务器解压出来
unzip 文件

八、配置Nginx

  1. 到nginx目录下的conf.d目录里
cd /etc/nginx/conf.d
  1. 创建配置文件
touch XXX.conf
  1. 编写配置文件
vim XXX.conf

ps: i为插入内容,Esc退出编辑模式,:wq退出vim模式

  1. 重启nginx
关闭:systemctl stop nginx(无效可以试试nginx -s stop)
启动:nginx

九、接口项目部署

  1. 上传项目压缩文件到服务器
scp 文件 root@(域名|ip):~/
  1. 修改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';
  1. 查看是否修改成功
select user,host,plugin from user where user='root';
  1. 根据项目要求创建数据库
在mysql命令下: create database 数据库名
  1. 接口需要配置ngnix反向代理,切换到nginx下的conf.d目录下创建的配置文件,往里面添加如下配置
  location ^~ /api/ {
    
    
        rewrite  ^/api/(.*)$ /$1 break;
        proxy_pass  http://127.0.0.1:3000;
 }
  1. 重启nginx
nginx -s reload

猜你喜欢

转载自blog.csdn.net/Mr_RedStar/article/details/114002900