CentOS部署项目

阿里云服务器部署web项目 CentOS7+JDK1.8+Tomcat8+MySQL5.7

1 准备工作

1.1 查看Linux服务器版本

1
2
3
4
5
6
[lishuai@svr1 ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core

若提示未该命令,则执行以下命令进行安装

1
yum install -y redhat-lsb

Linux系统分为CentOS、Ubuntu、Debian,此处为64位CentOS7。

1.2 Linux系统介绍

1.2.1 CentOS系统

非常多的商业公司部署在生产环境上的服务器都是使用CentOS系统,CentOS是从Redhat源代码编译重新发布版,CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,并且有帮助文档和社区的支持。

1.2.2 Ubuntu系统

Ubuntu系统有着靓丽的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,并且Ubuntu对计算机硬件的支持优于CentOS和Debian,兼容性强,Ubuntu应用非常多,但是对于服务器操作系统来说,并不需要太多的应用程序,需要的是稳定,操作方便,维护简单的系统。如果你需要在服务器端使用图形界面,Ubuntu是一个不错的选择,你需要注意的是,图形界面占用的内存非常大,而内存越大的VPS(Virtual Private Server 虚拟专用服务器)价格也越高。

1.2.3 Debian系统

Debian系统也非常适合做服务器操作系统,与Ubuntu比较,它没有太多的花哨,稳定压倒一切,对于服务器操作系统来说是一条不变的真理,Debian这个Linux系统,底层非常稳定,内核和内存的占用都非常小,在小内存的VPS就可以顺畅运行Debian,比如128M的内存,但Debian的帮助文档和技术资料比较少,对于小内存,首选Debian,对于非常熟悉Linux系统的VPS高手,首选Debian。

2 安装JDK

2.1 查看是否已安装JDK

1
2
3
4
5
6
[lishuai@svr1 ~]$ yum list installed | grep java
java-1.8.0-openjdk.x86_64 1:1.8.0.171-7.b10.el7 @updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.171-7.b10.el7 @updates
javapackages-tools.noarch 3.4.1-11.el7 @base
python-javapackages.noarch 3.4.1-11.el7 @base
tzdata-java.noarch 2018e-3.el7 @updates

可以看到该环境已安装JDK1.8,若没有安装可执行以下命令进行安装。

2.2 查看yum库里有哪些版本可以安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[lishuai@svr1 ~]$ yum -y list java*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
java-1.8.0-openjdk.x86_64 1:1.8.0.171-7.b10.el7 @updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.171-7.b10.el7 @updates
javapackages-tools.noarch 3.4.1-11.el7 @base
Available Packages
java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.7.0-openjdk.x86_64 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.7.0-openjdk-headless.x86_64 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.191-2.6.15.4.el7_5 updates
java-1.8.0-openjdk.i686 1:1.8.0.181-3.b13.el7_5 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.181-3.b13.el7_5 updates
java-1.8.0-openjdk-accessibility.i686

2.3 安装JDK1.8

1
[lishuai@svr1 ~]$ yum -y install java-1.8.0-openjdk*

3 安装Tomcat

3.1 下载Tomcat

打开Tomcat官网http://tomcat.apache.org,在左侧栏的Download里选择版本,我选择的是Tomcat 8;之后选择最新版本8.5.33,选择下载tar.gz包。

也可以通过链接http://ftp.tsukuba.wide.ad.jp/software/apache/tomcat/tomcat-8/v8.5.33/bin/apache-tomcat-8.5.33.tar.gz直接下载该版本的Tomcat。

3.2 安装Tomcat

将压缩包上传到Linux服务器,可使用rz命令上传

解压

1
[lishuai@svr1 ~]$ tar -xvzf apache-tomcat-8.5.33.tar.gz

修改端口和编码,Tomcat默认端口号为8080

1
2
3
4
5
6
7
8
9
10
#进入Tomcat目录下的conf目录
[lishuai@svr1 ~]$ cd apache-tomcat-8.5.33/conf

#打开server.xml
[lishuai@svr1 conf]$ vi server.xml

#修改端口号
<Connector port="8548" protocol="HTTP/1.1"
connectionTimeout="20000" URIEncoding="UTF-8"
redirectPort="8443" />

3.3 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#启动Tomcat 在Tomcat解压目录的bin目录下执行
#启动完成后可在logs路径下的查看启动日志
#通过访问url[http://address:port],若显示Tomcat信息则启动成功
[lishuai@svr1 bin]$ sh startup.sh
Using CATALINA_BASE: /home/lishuai/apache-tomcat-8.5.33
Using CATALINA_HOME: /home/lishuai/apache-tomcat-8.5.33
Using CATALINA_TMPDIR: /home/lishuai/apache-tomcat-8.5.33/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/lishuai/apache-tomcat-8.5.33/bin/bootstrap.jar:/home/lishuai/apache-tomcat-8.5.33/bin/tomcat-juli.jar
Tomcat started.

#停止Tomcat 在Tomcat目录的bin目录下执行
[lishuai@svr1 bin]$ sh shutdown.sh
Using CATALINA_BASE: /home/lishuai/apache-tomcat-8.5.33
Using CATALINA_HOME: /home/lishuai/apache-tomcat-8.5.33
Using CATALINA_TMPDIR: /home/lishuai/apache-tomcat-8.5.33/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/lishuai/apache-tomcat-8.5.33/bin/bootstrap.jar:/home/lishuai/apache-tomcat-8.5.33/bin/tomcat-juli.jar

#查看端口状态
#Tomcat启动后的端口状态
[lishuai@svr1 bin]$ netstat -an | grep 8548
tcp 0 0 0.0.0.0:8548 0.0.0.0:* LISTEN
#Tomcat刚停止后的端口状态
[lishuai@svr1 bin]$ netstat -an | grep 8548
tcp 0 0 172.31.13.141:36474 172.31.13.141:8548 TIME_WAIT

3.4 注意事项

若通过url[http://address:port]访问已经启动的Tomcat,显示错误500 Internal Privoxy Error,是因为阿里云服务器需要配置安全组规则开放相应的端口才能访问。

4 安装MySQL

4.1 选择MySQL版本

4.1.1 直接下载MySQL

登录MySQL官网https://www.mysql.com/,如下图所示,选择MySQL版本,下载与Linux系统相对应的MySQL。此例选择的是MySQL5.7,Linux是64位CentOS 7,而CentOS是从Redhat源代码编译重新发布的。



或者直接打开链接https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-server-5.7.23-1.el7.x86_64.rpm进行下载

或者在Linux服务器使用命令下载MySQL

1
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-server-5.7.23-1.el7.x86_64.rpm

4.1.2 通过MySQL源安装

如下图所示,在MySQL官网选择相应的MySQL源进行下载。(在官网找了半天也只能找到MySQL最新版本8.0的源,故截图中的为8.0版本,演示用的是5.7)


或者直接打开链接https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm进行下载

或者在Linux服务器使用命令下载MySQL源

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

4.2 安装MySQL

使用MySQL源安装MySQL

1
2
3
4
5
6
#下载MySQL源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
#安装MySQL
yum localinstall mysql57-community-release-el7-8.noarch.rpm
#验证安装是否成功
yum repolist enabled | grep "mysql.*-community.*"

常用命令

启动MySQL

1
[lishuai@svr1 bin]$ systemctl start mysqld

停止MySQL

1
[lishuai@svr1 bin]$ systemctl stop mysqld

查看MySQL状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#MySQL启动后的状态
[lishuai@svr1 bin]$ systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-09-06 09:49:57 CST; 5h 43min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 30715 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 30692 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 30719 (mysqld)
CGroup: /system.slice/mysqld.service
└─30719 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
#MySQL停止后的状态
[lishuai@svr1 bin]$ systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Thu 2018-09-06 15:34:35 CST; 25s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 30715 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 30692 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 30719 (code=exited, status=0/SUCCESS)

4.3 修改root用户密码

MySQL启动后,会发现使用root用户登陆需要密码,但是安装的全过程并没有提示输入密码,所以需要设置跳过密码验证后登陆root用户并修改密码。

  • /etc/my.cnf文件中[mysqld]下添加skip-grant-tables,如下所示
    1
    2
    [mysqld]
    skip-grant-tables
  • 添加后重新启动MySQL,然后使用root用户登录,并修改root用户密码,如下所示
    1
    2
    3
    4
    5
    6
    [lishuai@svr1 ~]$ mysql -u root
    #切换到mysql数据库
    mysql> use mysql;
    #修改root用户密码
    mysql> update mysql.user set authentication_string = password('123456') where user='root';
    mysql> quit;
  • 修改完密码,将/etc/my.cnf文件中的skip-grant-tables删除,并重启MySQL,再次登陆就需要进行密码验证了
    1
    [lishuai@svr1 ~]$ mysql -u root -p 123456

4.4 初始化数据库

创建数据库

1
mysql> create database testdb;

执行sql脚本

1
mysql> source db.sql;

5 web项目部署

5.1 打war包

我使用的是Intellij IDEA,对maven项目进行打包

选择Maven Projects,选择相应的project,然后选择Lifecycle -> package,即可生成war包。

5.2 发布war包

  • 将war包上传到tomcat目录下的webapps
  • 修改tomcat目录conf文件夹内的server.xml文件,在Host元素内添加子元素Context,内容如下
    1
    <Context docBase="UsechainService.war" path="/" debug="0" privileged="true" reloadable="true"/>
    docBase的内容是你的war包名字,path是你要设置的访问路径。
  • 启动Tomcat,在浏览器输入urlhttp://address:port/UsechainService进行访问

若启动服务出现问题或者无法访问到请到Tomcat的logs目录下查看日志。


CentOS部署项目
https://www.ivan.fun/posts/b02bb2ee/
作者
IVAn
发布于
2020年3月14日
许可协议