15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > CentOS部署Web项目(小白入门)

CentOS部署Web项目(小白入门)

时间:2023-08-04 00:39:01 | 来源:网站运营

时间:2023-08-04 00:39:01 来源:网站运营

CentOS部署Web项目(小白入门):

前言

早在很多年前, 我就已经掌握了Linux、Nginx、NodeJS等热门技术的单词拼写. (⊙_⊙)

但是从来没入门过, 最近因为要部署个人项目, 于是买了台服务器尝试着去简单部署. 可我啥也不会, 就一点一点百度, 弄坏了就重置服务器. 像我这样记性非常差的菜鸡, 过几天就又不记得这个过程了, 为防止在未来再次需要独立部署, 记录下这个过程.

约定

假设我们已经写好了前后端代码并进行打包, 现已生成两个dist文件夹, 只需要部署即可.




购买服务器

服务器可以选择阿里云、腾讯云、华为云等, 随你喜欢. 我选择用华为云做演示. 这些云厂商有大量的产品, 有专门用来存图片的(OSS), 有专门用来存数据库的(RDS), 有专门用来做负载均衡的(SLB), 我们选择『弹性云服务器ECS』




需要注意的是镜像需要选CentOS,版本随意. 公网IP一定要有, 这一点官方给出了详细的解释.

至于其他配置, 如果自己玩玩的买1H2G即可. 或者咨询官方客服, 告知需求会给你匹配相应的配置. 这里列出我购买的这台服务器仅供参考. (个人玩的话, 这个配置挺贵的了, 年费大概是2000不到一点)




登录服务器

登录服务器有很多种方式,云厂商后台都可以登录, 但是每次打开浏览器太麻烦了. 这里我习惯使用PuTTY这款工具. 在下面这个链接可以下载.

下载完毕后我们填充参数然后点击Open




初次登录会弹一些警告窗, 不用在意, 点击yes即可




然后输入账号密码进行登录.

当你看到'Welcome to xxx'(不同服务器厂商欢迎标语不同)时就代表登录成功了.

安装MySQL

在官网下载适合你的版本 https://dev.mysql.com/downloads/repo/yum/ 点击Download

直接复制下载链接




先使用wget下载安装包

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm


复制安装包名称进行安装

rpm -ivh mysql80-community-release-el7-3.noarch.rpm


更新数据源

yum makecache


查看MySQL可安装包

yum list | grep mysql-com


安装server版

yum install mysql-community-server.x86_64


若安装失败如下图所示, 可以参课这篇博文




进入mysql目录并初始化, 数据库初始化之后会生成一个随机密码, 我们用命令查看

cd /var/lib/mysqlsystemctl start mysqldgrep 'password' /var/log/mysqld.log


登录数据库, 密码是刚刚生成的临时密码

mysql -u root -p


这样的密码太难记, 我们可以设置一个自己喜欢的密码(实际上, 如果你不修改密码数据库不允许你进行任何操作)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';大概率你是修改失败的. 因为数据库密码有自己的安全策略, 太简单的密码是不允许的, 那么我们就设置一个非常复杂的密码, 然后再去修改安全策略, 再次修改简单密码即可.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'aabbCCDD1234!';set global validate_password.policy=LOW;set global validate_password.length=6;ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';


创建数据库

create database myblog;输入quit可退出数据库, 之后启动数据库服务

quitservice mysqld start

安装Node

建议使用NVM(Node Version Manager)来管理Node版本, NVM是个node版本管理工具, 简单来说, 他允许你下载不同版本的node, 随时进行切换.

下载NVM

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash


更新配置文件并安装你想要的node版本

source ~/.bashrcnvm install v10.16.1


查看node版本

node -v

上传文件到服务器

如何将自己电脑上的两个dist放到服务器上呢?

这里我推荐一款客户端软件WinSCP, 在下面这个链接可以下载.

下载完毕后我们填充参数然后点击Login




初次登录会弹一些警告窗, 不用在意, 点击Add即可




登录之后可以看到本地文件和服务器文件的列表







在右侧新建文件夹(我自己的项目名叫oreo), 然后将2个dist文件夹复制进去, 在命令行界面可以看到我们的确已经把文件上传到了服务器.




部署后端

在前文我们已经把后端代码放在服务器上了, 理论上我只需要node dist/main.js即可部署该应用. 现在我们尝试部署.




'无法连接数据库', node应用很有可能会遇到这个问题, 这个问题是因为认证协议的不同, 具体原因可以参考

我们只需运行如下命令即可解决. 这里的密码是全新的密码, 可以覆盖之前的. 但是同样这个地方有安全策略, 我们之前改的策略在这里不生效, 所以可以临时用一个复杂的密码先解决这个认证协议的问题.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'aabbCCDD1234!';


你会发现覆盖之后又因为安全策略的问题无法修改密码了...没事, 我们故技重施即可.




然后再次尝试部署我们的Node项目, 满屏绿! 程序员真的太爱这个颜色了.




但是问题又来了, 直接node运行虽然可以部署, 但是命令行是无法再执行别的任务了. 而且一旦关闭界面, 也就关闭了该进程. 因此, 我们需要借助一款叫forever的工具, 他可以持久运行node程序.

全局安装forever

npm install forever -g





运行node程序, 查看当前forever运行的所有进程

forever start dist/main.jsforever list


安装Nginx

下载一些必要的依赖包

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel


下载Nginx

wget http://nginx.org/download/nginx-1.16.1.tar.gz


移动安装包并解压

mv nginx-1.16.1.tar.gz /usr/local/tar -zxvf nginx-1.16.1.tar.gz


这时候通过ls命令可以看到产生了一个nginx-1.16.1的文件夹, 进入这个文件夹进行配置

cd /usr/local./configure --prefix=/usr/local/nginx


执行安装

make


进入sbin后, 启动Nginx

cd /usr/local/nginx/sbin./nginx之后在浏览器里直接输入你的公网IP.

如果你是华为云, 理论上应该是不能出现这个界面的... 因为华为云的防火墙默认并没有开启80端口. 进入华为云控制台,进入『安全组』

入方向和出方向都需要添加80端口, 点击『快速添加规则』, 选中80和443即可(443用于HTTPS的, +不+都行).

之后需要重启华为云服务器. 再次启动Nginx应该就可以成功了.

配置Nginx

编辑Nginx配置文件

vi /usr/local/nginx/conf/nginx.conf





重启Nginx(要在/usr/local/nginx/sbin下执行)

./nginx -s reload

结语

到此, 部署的全过程就结束了. 本文内容都是经过新服务器实践的. 不太了解运维相关知识, 如有误笔还请在评论区指出~

关键词:入门,项目,部署

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭