【部署项目】【CentOS_7】将Web项目(SSM项目)部署到阿里云服务器

2021.6.25

大三的课程设计需要用到微信小程序,微信小程序中有可以使用云服务器还是自己的服务器,想了一下还是想尝试一下使用自己的尝试搭建的服务器。于是有了这一篇文章。

在途中遇到了不少的坑,特此记录。可能有些坑并不适用于所有的博友,但我还是希望路过的博友们能够通过这篇文章少走一些弯路。

完整的过程下来可能会比较辛苦,希望第一次部署项目到服务器的博友坚持看完下面的步骤,最后完成自己想要的结果~~

1、准备工作

购买服务器

可以选购任意一个厂商的服务器,我这里购买的是阿里云服务器。
镜像选用CentOS7在这里插入图片描述开放服务器安全组
在这里插入图片描述购买成功后,通过在控制台界面中配置安全组。
在这里插入图片描述在这里插入图片描述开放mysql(3306)端口和tomcat(8080)端口
同时,如果忘记自己配置的密码,也可以通过控制台来就进行修改。
在这里插入图片描述

下载需要的资源

分别是:

  1. jdk-8u291-linux-x64
  2. mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
  3. apache-tomcat-8.5.68.tar.gz
  4. Xshell 5(用于远程登录)
  5. Xftp 5(用于远程上传)

在这里插入图片描述

这里的三个版本是我平时开发Java程序用的环境,所以就采用了这三个版本,博友们可以自己选择采用自己习惯用的版本。还有mysql也可以用rpm的版本,不过我这里用的是tar包来进行配置。

2、尝试使用XShell和Xftp来远程操作云服务器

连接XShell
在这里插入图片描述根据自己设置的root账号和root密码进行登录。
在这里插入图片描述连接Xftp5,给云服务器上传文件。
在这里插入图片描述根据账号密码进行登录
登录成功后界面如下
在这里插入图片描述
接下来返回到Xshell中给在根目录下创建一个/www/server的目录。

mkdir -p /www/server

-p参数用于递归创建目录。

接下来,通过Xftp给这个目录传输我们下好的三个文件。
传输的步骤就略过,结果如图所示。

在这里插入图片描述

3、安装JDK并配置环境变量

卸载已经安装过的JDK版本

在安装我们自己的JDK版本之前,要先查看服务器是否已经安装过JDK了。

使用如下命令查询已安装JDK版本:

rpm -qa|grep jdk

q代表query,a代表all,grep 命令用于查找文件里符合条件的字符串,下不注释

我这里已经安装了JDK,所以查询出来是有结果的。
在这里插入图片描述如果查询出来没有结果,那么就是没有安装JDK。这个步骤可以跳过。

如果有,就执行下面的命令,进行卸载

rpm -e --nodeps jdk1.8-1.8.0_291-fcs.x86_64

-e 卸载一个软件包
--nodeps 不检查依赖关系

卸载后,再使用

rpm -qa|grep jdk

java -version

检查一下是否真的把jdk删除了。

安装JDK

/www/server的目录下,使用一下命令

rpm -ivh jdk-8u291-linux-x64.rpm

-i install安装
-v verbose提示
-h hash 显示进度条

配置Java环境变量

安装结束后,就需要去配置java的环境变量。

首先查看一下,我们java安装之后存在的文件路径
使用命令,

cd /usr/java

查询看到
在这里插入图片描述可以知道这里的我们JDK路径是/usr/java/jdk1.8.0_291-amd64

可以写出以下的配置语句

JAVA_HOME=/usr/java/jdk1.8.0_291-amd64
CLASSPATH=%JAVA_HOME%/lib
PATH=$JAVAHOME/bin
export PATH CLASSPATH JAVA_HOME

接下来,通过下面的命令进入profile文件的文本编辑模式,

vim /etc/profile

将上面的配置语句全部粘贴在文本的最后。
在这里插入图片描述按ESC后:wq保存。

然后使用

source /etc/profile

使刚配置的profile生效,然后通过在命令行中敲

java -version

查看Java是否已经配置完成。
在这里插入图片描述
至此,java已经配置完成。

4、安装Tomcat并且启动服务

安装Tomcat

首先回到我们的/www/server目录下,通过tar指令来对tar包进行解压。

tar -zxvf apache-tomcat-8.5.68.tar.gz

-z 	tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
-x 	从 tar 包中把文件提取出来
-v  显示详细信息
-f  f后面必须跟上要处理的文件名

解压后,获得一个文件apache-tomcat-8.5.68,这个文件名太长了,不好记忆,我们将其重命名为tomcat

mv apache-tomcat-8.5.68 tomcat

启动Tomcat服务

查看CentOS7的防火墙状态

systemctl status firewalld

如果防火墙是关闭状态,请启动防火墙,因为只有启动防火墙后才能开放端口。

systemctl start firewalld

启动后的防火墙应该是这个状态:
在这里插入图片描述执行以下命令,开放Tomcat需要的8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 命令解释
–zone 作用域
–add-port=80/tcp 	添加端口,格式为:端口/通讯协议
–permanent 	永久生效,没有此参数重启后失效

执行此命令结束后,关闭防火墙。

systemctl stop firewalld

回到/www/server/tomcat的目录下,进入/bin目录,使用

./startup.sh

启动Tomcat服务,此时,Tomcat服务已经部署成功。
我们使用我们自己的本机电脑,使用浏览器访问公网IP:8080,就能看到我们熟悉无比的Tomcat界面。
在这里插入图片描述到此为止,Tomcat就已经部署完毕了。

5、安装Mysql并且启动Mysql服务连接

加油,你已经完成一半了

解压mysql

首先,对安装的tar包进行解压。(这里不用tar包解压的方式也可以,网上有很多基于yum的mysql安装)。

tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

可以跟之前一样获得一个mysql-5.7.29-linux-glibc2.12-x86_64的文件,同样地,名字太长了,先对他进行一个重命名

mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql

改名为mysql文件夹。

创建mysql的用户和用户组

添加mysql的用户组

groupadd mysql

添加名字叫mysql的用户名,并且把它归入到mysql用户组里

useradd -r -g mysql mysql

在根目录下,创建Mysql的安装目录(mysql的文件都保存在这个目录下)

mkdir -p /data/mysql

将这个目录的用户权限修改为mysql用户组中的mysql用户

chown mysql:mysql -R /data/mysql 

修改后,通过命令ll查询,可以查看到权限已经修改了。
在这里插入图片描述

编写mysql的配置文件

接下来需要写一个配置文件,从mysql5.7开始,my.cnf这个文件不再自动创建,因此我们要自己手动创建出来。

配置不对的话,后面初始化不全,会拿不到默认密码。
所以最好还是跟着我这里的配置写

vim /etc/my.cnf

将下面的配置代码复制粘贴到my.cnf文件上。

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/www/server/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

具体这些配置的参数是什么意思,博友们有兴趣可以自己去找。这里主要重点是basedirdatadirlog-errorpid-file这四个属性都是要配套我们之前的路径来写,如果博友们的路径和我的不一样,记得修改。
按ESC,:wq,保存好。

数据库初始化

接着就是数据库初始化。
回到mysql的bin目录下,这篇文章中,mysql的路径是:
/www/server/mysql/bin,所以

cd /www/server/mysql/bin

进入bin后,使用下面的命令初始化mysql。
记得使用sudo来运行哦

./mysqld --defaults-file=/etc/my.cnf --basedir=/www/server/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

命令解释:
--defaults-file=/etc/my.cnf 刚才写的配置文件
--basedir=/www/server/mysql/ 我们解压mysql的文件包路径
--datadir=/data/mysql/ 我们自己创建的专门用来放mysql数据的文件夹
--user=mysql 我们创建的名字叫mysql的用户
--initialize 初始化

运行完成之后,MySQL中会自动刚创建一个root账号,并且会在日志文件中产生出一个root账号的密码, 如果没有在这个阶段查看到密码的同学可能需要百度一下如何在忘记密码的情况下登录root账号。

我们通过以下命令,查看mysql的日志

cat /data/mysql/mysql.err

在这里插入图片描述
这里每个人随机的密码都是不一样的。

启动Mysql服务

先将mysql.server放置到/etc/init.d/mysql中

查找服务的位置
find / mysql.server

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

这一步的目的是让service命令可以识别mysql服务

service mysql start

接着我们就可以启动mysql服务了。
查看mysql父进程信息的命令如下:

ps -ef|grep mysql

命令解释
-e 显示所有进程。
-f 全格式。

在这里插入图片描述

更改Root密码

cd /www/server/mysql/bin

回到mysql的bin目录下,然后执行

./mysql -u root -p

根据刚才的密码来登录root账号

登录成功后,重置密码

SET PASSWORD = PASSWORD('你喜欢的密码');

修改密码为永不过期

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

刷新数据库配置

FLUSH PRIVILEGES; 

访问mysql库

use mysql;

使root能被任何host访问(这个是为了我们能够远程登录mysql而做的一步)

update user set host = '%' where user = 'root';

再次刷新

FLUSH PRIVILEGES; 

在防火墙中开放3306端口

跟tomcat一样,为了能够通过公网IP就能够远程访问到mysql,我们也要开放mysql的端口。操作和开放tomcat的操作基本没有太多区别。

首先确认一下防火墙的状态,如果防火墙状态是关闭的,请打开防火墙。

systemctl status firewalld

systemctl start firewalld

开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

配置立即生效
firewall-cmd --reload

通过SQLyog远程连接mysql

如果之前的步骤都已经顺利完成,那么就可以尝试一下用目前市面上流行的mysql图形化管理工具来远程连接一下部署好的mysql。

在windows中启动SQLyog,新建连接。

在这里插入图片描述这个图应该很清楚了,点击测试连接。
在这里插入图片描述
出现连接成功!至此mysql就已经部署成功了。
接下来就可以用sqlyog远程对数据库进行操作了。

6、项目部署上线

恭喜你,已经到最后一步了!

接下来的操作其实才是我们最希望得到的结果。而且也非常非常的简单。

  1. 首先,将你的项目打包成war包。
  2. 其次,将war包通过Xftp 5传输到云服务器的/www/server/tomcat/webapps/目录下
  3. 根据tomcat的web.xml的配置,webapps目录下的war包都会自动解压。(如何不会自动解压,请配置wab.xml文件)

在这里插入图片描述然后你就可以通过公网IP:8080/项目名来访问你的项目啦,如图,
在这里插入图片描述
好!结束!

其实这里如何打包成war包也是有个超级大坑,导致我花了一晚上的时间去找其他人写的博客资料,这里由于篇幅问题,就放到另一篇文章上去讲,不会将项目打包成war包的博友们可以去看一下。

文章地址为:
IntelliJ IDEA 2020.3 将Web项目(SSM项目)打包成war包的步骤(包含解决访问404的方法)

参考资料:
将SSM项目部署到阿里云服务器(linux)
如何在CentOS7中卸载和安装JDK
ps -ef指令

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将Node.js项目部署阿里云服务器(centos),您可以按照以下步骤进行操作: 1. 首先,登录到您的阿里云服务器。您可以使用SSH客户端(如PuTTY)连接到服务器。 2. 在服务器上安装Node.js。您可以使用Node.js官方网站提供的安装包进行安装,也可以使用包管理工具(如yum)进行安装。 3. 检查Node.js是否成功安装。通过运行命令`node -v`和`npm -v`分别检查Node.js和npm的版本号,确保它们都已安装成功。 4. 在服务器上创建一个目录来存储您的Node.js项目文件。您可以选择在默认的`/var/www/html/`目录下创建一个新目录,或者根据您的需求选择其他位置。 5. 将您的Node.js项目文件上传到服务器的目录中。您可以使用FTP客户端(如FileZilla)将项目文件上传到服务器,或者通过git命令将文件从本地仓库推送到服务器上。 6. 在服务器上安装项目所需的依赖。在项目文件的根目录下,运行`npm install`命令安装项目的依赖模块。 7. 使用PM2进程管理工具来启动Node.js应用程序。运行`npm install -g pm2`命令来全局安装PM2,然后使用`pm2 start app.js`命令启动您的Node.js应用程序。 8. 配置防火墙规则以允许对Node.js应用程序的访问。您可以在阿里云控制台中配置安全组规则,确保服务器的80端口(或您的Node.js应用程序使用的任何其他端口)是开放的。 9. 进行域名解析(可选)。如果您有一个域名,您可以将其解析到服务器的IP地址上,以便用户可以通过域名访问您的Node.js应用程序。 通过以上步骤,您的Node.js项目将成功部署阿里云服务器上,并可以通过服务器的IP地址或域名进行访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值