如何远程连接云服务器并部署项目

54次阅读

官网下载 xshell

填写密钥或者 30 天评估

若选择评估 , 则填写使用的邮箱

在邮箱里获取下载链接

下载 , 安装

打开 xshell7

点击文件 , 点击新建

在名称一行输入连接 ( 如 connection)

默认 ssh

在主机一行输入云主机的 ip 地址 ( 如公网 ip)

在端口号一行输入端口号 ( 默认 22)

点击连接

ssh 安全警告 , 点击接受并保存

输入登录的用户名 ( 如 root), 勾选记住用户名 , 点击确定

输入验证的密码 , 勾选记住密码 , 点击确定

连接成功

将本地文件上传到服务器

官网下载 filezilla

download filezilla client, download

下载 , 安装 , 打开

点击文件 , 站点管理器 , 新站点

协议选择 SFTP

输入主机和端口号

输入用户和密码

点击连接

连接成功

左边是本地站点 , 右边是远程站点

把本地站点的文件夹拖拽到远程站点里 , 就会传输

安装宝塔 , 可以可视化操作

点击 linux 安装脚本

复制 centos 安装脚本

进入 xshell 执行该命令 ,y,y

安装成功后 , 会显示 :

外网面板地址 , 内网面板地址 ,username,password

用浏览器打开外网面板地址

需要检查防火墙 / 安全组是否有放行面板 [26365] 端口

输入 username,password 进入宝塔面板

登录或者注册

会提示你安装一整套软件

选择 LNMP(推荐), 一键安装

再去软件商店安装 PM2 管理器 , 首页显示打开

将本地的数据库文件导入到云服务器

点击数据库

添加数据库

设置数据库名、utf-8、用户名、密码、访问权限 , 访问权限为所有人 , 然后点击提交

放行端口

点击安全 , 添加端口规则 ,8888( 宝塔 Linux 面板默认端口 )

上传文件

点击文件 , 找到根目录 /www/wwwroot

新建目录 , 定义一个项目

点开 , 点击上传 , 将需要上传的项目文件夹压缩拖拽上去 , 上传

右键解压

需要修改配置文件

将 app.js 的端口号改为 8888

首页 , 打开 PM2 管理器

添加项目

启动文件是 app.js

运行目录是 app.js 所在的目录

点击提交

用公网 ip 和 8888 端口测试

Centos6 不支持安装宝塔面板 , 需要 Centos7/8

若是 Centos6, 则需要使用命令操作

在 xshell 里 , 下载 node.js

nvm install 16

安装 pm2

npm install pm2 -g

成功 (found 0 vulnerabilities)

在 filezilla 里 , 拖拽 node.js 项目到 root 目录里

然后进入项目目录 , 执行命令进行部署 :

pm2 start bin/www (pm2 start nodemon src/)

用公网 ip 和 node.js 项目的端口测试

在 filezilla 里 , 将 express 构建的前端项目拖拽到 root 文件夹里

pm2 start bin/www

如果需要新增一个端口规则 39000

xshell, 安装 semanage

sudo yum -y install policycoreutils-python

启用新端口

sudo semanage port -a -t ssh_port_t -p tcp 39000

让新端口在防火墙启用

sudo firewall-cmd –permanent –zone=public –add-port=39000/tcp

重新加载防火墙设置

sudo firewall-cmd –reload

重启 ssh 服务

service sshd start

重启后查看 39000 端口是否被监听

在 xshell 通过下行命令检查目标服务的端口监听状态

netstat -ntlp | grep 39000

系统返回结果包含该端口表示目标服务的端口处于监听状态

用公网 ip 和项目的端口测试

若需要修改端口 , 重新部署

将 app.js 的端口设置为 39000

pm2 start bin/www -f

pm2 start app.js

将 ip 绑定域名 , 将域名指向一个 ipv4(A 记录 )

域名接入 http

开通服务 , 添加产品 , 添加应用 , 选择应用 , 点击 httpdns,

点击 httpdns 概览 , 复制 Account ID

域名列表 , 添加域名 , 输入域名 , 确认

连接 MySQL 数据库

首先要看一下服务器上面数据库是否已经成功启动

service mysqld status

成功 :SUCCESS! MySQL running (22416)

对外开放 3306 端口 , 添加安全组规则 , 入方向

以管理员身份运行 cmd, 连接 mysql

mysql -hlocalhost -uroot -p

使用如下命令查看数据库中各个用户的访问权限

select user ,host from mysql.user;

使用如下命令将所需要开放的用户的访问权限改为任意

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '*********' WITH GRANT OPTION;

修改后在查看 :select user ,host from mysql.user;

然后就可以正常在本地电脑上连接云服务器上的数据库了

添加 mysql 远程服务器

以管理员运行 SQLyog

新建连接

输入公网 ip

端口 3306

用户名

跟宝塔的数据库的数据库名、用户名、密码一致

连接成功

部署 react 项目

用脚手架 create-react-app 创建的 react 项目 , 已经集成了 webpack

先添加 "homepage": "http:// 公网 ip:39000/" 到 package.json

在项目的根目录下 npm run build, 就会生成一个 build 文件夹 , 上传到服务器

进入目录 , 下载 screen

yum install -y screen

创建 screen: screen -S 名称

查看 screen -ls:

There is a screen on:
14022.build(Detached)
1 Socket in /var/run/screen/S-root.

装 epel 仓库

yum install epel-release -y

安装 nginx

yum install nginx -y

时间 :2023-03-23

原文链接:https://blog.csdn.net/m0_65121454/article/details/129728124

正文完
 
追风者
版权声明:本站原创文章,由 追风者 2024-01-02发表,共计2458字。
转载说明:声明:本站内容均来自互联网,归原创作者所有,如有侵权必删除。 本站文章皆由CC-4.0协议发布。