以阿里云轻量应用服务器(CentOS 8.2系统镜像 + Node.js 14.15.2应用镜像)+ 域名 + 七牛云文件服务器 为例 注: 本可以用windows系统进行可视化操作的,奈何服务器搞错了整了一个2核1G的服务器,还好只租了一个月的试试水,windows的操作系统,最低配置要求是1核2G,有现成的node环境也就不用装了。
阿里云轻量应用服务器环境配置
- 以下操作实际上就是为了让服务器上能跑自己本地写的后端代码,所以所有在本地运行需要的环境均需要装一个
- 环境说明: CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本 Node.js是一个基于Chrome JavaScript runtime建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。该镜像基于CentOS 8.3 64位操作系统。(此应用镜像已经集成了nodejs+pm2环境,无需再次安装)
- 进入服务器: 登录阿里云账号-工作台-轻量应用服务器-服务器列表-我的轻量旁边的电脑图标-选择root用户连接(自己先点进去设置密码去,不赘述了)
装机必备: yum
yum安装之后不用满大街去找linux版本的安装包了,直接使用yum即可安装,非常方便。 操作步骤如下:
- 在linux根目录下创建文件夹yum
#进入根目录
cd /
#创建yum文件夹
mkdir yum
- 下载yum压缩包
#进入刚刚创建的文件夹yum
cd /yum
#执行下载命令
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
- 解压yum压缩包
tar -xvf yum-3.2.28.tar.gz
- 创建配置文件
#创建配置文件
touch /etc/yum.conf
注:不然会报错yum.cli:Config Error: Error accessing file for config file:///etc/ 5. 查看是否安装成功
yum --version
注:我好像拉下来解压后就创建成功了,此处已经能正确显示版本号了
yum 安装 git
- 安装指令
yum install -y git
- 安装报错Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
CentOS Linux 8 已于 2021 年 12 月 31 日结束生命周期 (EOL)。这意味着 CentOS 8 将不再从 CentOS 官方项目获得开发资源。在 2021 年 12 月 31 日之后,如果需要更新CentOS,需要将镜像更改为 vault.centos.org
- 解决方案
第1步:进入 /etc/yum.repos.d/ 目录。
cd /etc/yum.repos.d/
第2步:运行如下两条命令更换镜像。
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
第3步:再次运行 yum update 命令。
yum update -y
注:再次执行最初的安装指令 3. 查看是否安装成功
git --version
- 新建项目目录
mkdir /project
- 进入该目录
cd /project/
- 拉取github中的项目
git clone 你的后端项目git地址
- 拉取报错: remote: Support for password authentication was removed on August 13, 2021.
大概意思就是你原先的密码凭证从2021年8月13日开始就不能用了,必须使用个人访问令牌(personal access token),就是把你的密码替换成token!
- 解决方案
去github上生成token-因为需要截图,所以省略,后续有需要再补充
生成成功后,再次输入之前的克隆指令,用户名正常输入,密码使用之前生成的token即可
注: 请确保文件目录始终正确 11. 拉取并切换分支:
git checkout -b本地分支名origin/远程分支名
- 初始化项目
cd /project/项目名 | cd /project/my-blog-api
- 初始化项目
npm i
- 如果node_modules的初始化位置错误,则可能想要删除
# 强制删除文件
rm -f 文件名
# 强制删除文件夹
rm -rf 文件夹名
- 注:推荐强制删除,否则每一个文件均有删除确认提示,但是不推荐直接rm -rf *来删除所有文件!!!(除非你想跑路!)
- 运行(根据自身项目需求来)
npm run dev
phpstudy环境安装:
说明:该环境集成了MySQL+Apache+FTP+Nginx,而我需要的是可视化操作的数据库,以及nginx进行反向代理处理跨域以及进行域名映射,我的项目也是express+mysql写的,所以极其符合我的项目需求
- 环境安装:
yum install -y wget && wget -O install.sh https://notdocker.xp.cn/install.sh && sh install.sh
- 安装成功:
杭州服务器
webpanel running
phpstudy running
=================安装完成==================
请用浏览器访问面板:
外网:你的外网访问地址
内网:你的内网访问地址
系统初始账号:你的账号
系统初始密码:你的密码
官网:https://www.xp.cn
如果使用的是云服务器,请至安全组开放9080端口
如果使用ftp,请开放21以及30000-30050端口
===========================================
- 如果外网的MYSQL数据库地址访问不了,则需要在防火墙中去开放9080端口,我一同开放了以下端口,防止后续有用需继续开启,寻找以下路径:工作台-轻量应用服务器-我的轻量-防火墙(在阿里云服务器中)
MYSQL | TCP | 3306 | 0.0.0.0/0 | MYSQL
FTP | TCP | 21 | 0.0.0.0/0 | FTP
自定义 | TCP | 9080 | 0.0.0.0/0 | MYSQL
自定义 | TCP | 3000 | 0.0.0.0/0 | 接口端口
自定义 | TCP | 4000 | 0.0.0.0/0 | webSocket端口
自定义 | TCP | 8080 | 0.0.0.0/0 | 自定义页面访问端口
- 访问phpstudy外网访问地址,登录后进行以下操作:
1. 文件-文件上传-选择dist的压缩包(如不是压缩包则无法上传)
2. 网站-添加站点-输入网站域名-选择刚才上传的dist文件目录-mySQL选择创建
3. 软件管理-安装nginx和phpMyAdmin-点击phpMyAdmin的管理按钮,登录进去,导入sql即可创建之前的本地的数据库
注:如果域名已经备案完成,此时是已经可以正常访问的,不用做nginx的配置,如果跨域是在代码中已经解决的话,但是之前的前端包记得把域名和端口改了,默认是80端口,直接访问域名即可 5. 如何更新包
1. 后端代码: 登录服务器,cd 到对应的文件目录,如果是当前分支,直接git pull即可。(如果是其他情况,自行处理)
2. 前端代码:
* 访问phpstudy外网访问地址登录-dist压缩包(文件夹名不要用之前的名字,否则可能导致网站不更新)-文件-文件上传-选择文件
* 网站-点击之前创建的域名旁边的配置按钮-网站目录-选中刚才上传的文件夹名字-确定-退出后点击运行中旁边的三角(点两次)
* 软件管理-nginx-状态进行重启(点两次)
域名:
- 备案
- 注意:域名备案的话阿里的服务器和域名应该都需要租三个月以上,我的服务器租的一个月,提示必须要三个月以上才能备案。如果不备案则访问不了该域名下的资源。域名备案分为IPC备案(工信局备案)和公安局备案,两者都需要进行备案,IPC备案后30天内须进行公安局备案。
- 域名DNS解析
控制台 - 服务器列表 - 我的轻量 - 站点设置 - 域名 - 添加域名即可
- 如果域名暂时没有备案成功,怎样通过IP临时访问
phpstudy - 小皮面板- 网站 - 对应域名 - 配置 - 配置文件 - nginx配置代码(复制所有代码) - 软件管理 - nginx - 安装后点设置 且需要在运行中 - 配置修改 - 将复制的serve复制到http中(插入到末尾几行,其他配置别动)-修改serve中的代码
listen 8080 (端口号自定,但记得在防火墙中去开放你的端口号);
server_name 域名IP(域名DNS解析的对应ip地址);