阿里云服务器部署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.x 86 _64 1 :1.8 .0.171 -7 .b10 .el7 @updates java-1.8 .0 -openjdk-headless.x 86 _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 [lishuai@svr1 ~]$ cd apache-tomcat-8.5.33/conf [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 [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. [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 [lishuai@svr1 bin]$ netstat -an | grep 8548 tcp 0 0 0.0 .0.0 :8548 0.0 .0.0 :* LISTEN [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/my sql80-community-release-el7-1 .noarch.rpm
4.2 安装MySQL 使用MySQL源安装MySQL
1 2 3 4 5 6 wget http:// dev.mysql.com/get/my sql57-community-release-el7-8 .noarch.rpm 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 [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; 5 h 43 min ago Docs: man:mysqld(8 ) http:// dev.mysql.com/doc/ refman/en/u sing-systemd.html Process: 30715 ExecStart=/usr/ sbin/mysqld --daemonize --pid-file=/ var/run/my sqld/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/my sqld.service └─30719 /usr/ sbin/mysqld --daemonize --pid-file=/ var/run/my sqld/mysqld.pid [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; 25 s ago Docs: man:mysqld(8 ) http:// dev.mysql.com/doc/ refman/en/u sing-systemd.html Process: 30715 ExecStart=/usr/ sbin/mysqld --daemonize --pid-file=/ var/run/my sqld/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脚本
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目录下查看日志。