Linux搭建Java Web服务(CentOS,jdk1.8,mysql5.7,部署)

说明:

1. 本文主要配置以下环境,JDK(jdk-8u161)、Tomcat(8.5.51)、Mysql(5.7),服务器采用的是腾讯云Centos 7.2。

2. 本文是经过3次系统部署后记录的文档,文章中将会详细的说明在每一个过程中可能遇到的问题,因此希望大家与我的操作统一环境。

3.小编经过实际配置,发现在这三者中Mysql配置最为复杂,也是最有可能出现意外的一个环节。因此本文搭建环境的顺序为Mysql、Jdk、Tomcat。同时也是为了减少重置实例后导致前面配置的JDK或Tomcat的功夫白费掉。

4.为了环境统一下面提供出WEB项目常用的一些源码包,可依据实际使用下载。

链接: https://pan.baidu.com/s/12PIYZfPlCIyu2We0Df31yw

提取码:nc1u

5. 最终将于以一个开源项目Halo的部署来完成对服务器的测试。项目jar包我已经存入上述网盘中,下载可直接部署使用。


Mysql的环境配置

        在linux系统中大致可以分为两种软件包,源码包(.tar.gz)、RPM二进制包(.rpm)。源码包是没有经过编译的源代码,因此在安装的时候需要先编译在进行安装,这种方式的安装不仅比较难而且程序容易报错,对于我们不熟悉liunx系统的小白来说,安装是非常痛苦的,而RPM二进制包是安装包在出厂的时候已经经过编译了,而且基本不会有报错。因此我们选择.rpm去安装。

       在使用RPM二进制包安装时会发生包之前的互相依赖,需要自行去 http://www.rpmfind.net 网站上查找相关的 RPM 包,这样很麻烦,因此yum就诞生了,它主要就是解决包的依赖关系而存在的软件包管理器。

1. 使用yum升级软件包

#升级所有软件包。不过考虑到服务器强调稳定性,因此该命令在实际开发中并不常用。
[root@VM_0_2_centos ~]# yum update 

2. 下载mysql二进制包

          wget是Linux中的一个下载文件的工具,可以直接下载我们需要的一些包。前提是服务器网络通畅和已经安装了wget。

[root@VM_0_2_centos ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

3. 安装mysql二进制包

     yum -y  localinstall 包名 是yum常用的安装命令,localinstall表示安装软件包,-y:自动回答 yes。如果不加 -y,那么每个安装的软件都需要手工回答 yes。这里就不使用自动回答了,通过手动去执行命令。

[root@VM_0_2_centos ~]# yum localinstall mysql57-community-release-el7-8.noarch.rpm

4. 检查mysql二进制包是否安装成功

[root@VM_0_2_centos ~]# yum repolist enabled | grep "mysql.*-community.*"

5. 安装mysql服务

[root@VM_0_2_centos ~]# yum install mysql-community-server

    到这里使用yum方式下载软件包并且安装mysql服务就完成了,其实你会发现使用rpm二进制包并不难。那么新的问题又出现了,这个数据库用户名与密码我怎么还没设置?可以修改密码吗?怎么查看数据库是否启动?甚至有经验的同学会想到,怎么设置外部连接服务器数据库?等一系列问题,下面我将一一记录解决这些问题。

6. 启动mysql与查看mysql状态

[root@VM_0_2_centos ~]# systemctl start mysqld #启动数据库服务
[root@VM_0_2_centos ~]# systemctl status mysqld #查看启动情况

    使用systemct1 start mysql命令启动服务器是为了方便管理启动进程。但是当服务器重启之后,需要我们手动启动服务器的mysql服务,为了避免这样,我们需要设置开机自启服务。

7. 设置mysql开机自启

[root@VM_0_2_centos ~]# systemctl enable mysqld
[root@VM_0_2_centos ~]# systemctl daemon-reload

    在安装数据库服务的时候系统会自动生成一个密码,这个密码是以文件的形式存储在  /var/log/mysqld.log  文件中,而用户名就是root。因此我们需要修改这个默认密码,不然不好记 。修改密码是在mysql服务中,因此我们先要查询初始密码,然后在登录。

8. 查找默认密码

[root@VM_0_2_centos ~]# grep ‘temporary password’ /var/log/mysqld.log

   

    root@localhost: 后面的就是系统生成的默认密码,找到之后记录此密码,登录时使用。

9.  登录Mysql服务

[root@VM_0_2_centos ~]# mysql -u root -p

10. 修改root用户的默认密码

mysql> update mysql.user set authentication_string=password('root') where user='root'

       这个时候可能会报错 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  。出现这个问题的原因是linux系统存在密码强度验证。因此需要修改这个密码验证机制。

11 修改密码策略(正式环境不推荐使用)


mysql> set global validate_password_policy=LOW; #设置密码的验证强度等级为最低级
mysql> set global validate_password_length=4;   #设置密码的验证长度

   然后重新输入mysql> update mysql.user set authentication_string=password('root') where user='root';命令,验证密码策略是否修改过程与完成密码修改操作。

12  刷新操作

mysql> flush privileges

     退出sql模式 输入 quit,  退出sql连续输入   ctrl + z

13 .再次进入mysql服务

[root@VM_0_2_centos ~]# mysql -uroot -p

14 查看数据库,验证是否成功

mysql> show databases;

但是好像会报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement

这个原因就是系统希望你重置密码,哎,没办法,那就重设置呗。

mysql> alter user root@localhost identified by 'root';

大功告成,终于修改密码完成了,真的不容易呀。

JDK的配置

    安装准备:jdk-8u161-linux-x64.tar.gz包、Xshell、Xftp(也可以使用其他软件)

    jdk、tomcat不采用二进制rpm形式安装,主要原因有两点:一是因为这个两个环境的源码包安装不易报错,二是因为我们想把这个文件自定义路径安装,而采用rpm二进制包的安装位置是默认的,有时候不容易找到。因此就使用源码包的形式安装。

1.将jdk包上传到服务器中

    将所用到的包放入系统中的 /usr/local 下,然后 " cd /usr/local"  解压安装。

2.解压压缩包文件

[root@VM_0_11_centos local]#tar -zxvf  jdk-8u161-linux-x64.tar.gz

3.配置Jdk环境变量

[root@VM_0_11_centos local]#vi /etc/profile

       当命令输入时候会进入vim编辑,然后按  “ i ” 键(表示插入),在文档末尾添加以下命令  ,然后按 “Esc” 键退出插入模式,接着输入 “:wq” 保存并退出编辑模式。 具体的vim的使用请自行参考相关文档。

#在文尾插入下面的指令
export JAVA_HOME=/usr/local/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

4.重新加载配置文件

[root@VM_0_11_centos /]# source /etc/profile

5.验证是否安装成功

[root@VM_0_11_centos /]# java -version

Tomcat的配置

1.将jdk包上传到服务器中

    将所用到的包放入系统中的 /usr/local 下,然后 " cd /usr/local"  解压安装。

2.解压压缩包文件(进入存放压缩包路径解压)

[root@VM_0_11_centos local] tar -zxvf apache-tomcat-8.5.51.tar.gz

3.启动tomcat验证

[root@VM_0_11_centos /]# ./startup.sh

4.访问tomcat测试是否启动

启动tomcat命令:# ./startup.sh
关闭tomcat命令:# ./shutdown.sh
查看tomcat进程命令:# ps -ef|grep tomcat
杀死进程(也是关闭tomcat的一种方式 ):# kill-9 端口号 
然后继续查看Tomcat是否关闭 :ps -ef|grep java

 

部署Halo项目

    Halo项目是一个比较好的开源项目,采用的是spring boot 框架,因此部署所使用的jar包我已经在文章说明部分提供了,下载可用。

1.上传到服务中

    我是放到了/usr/local/halo下面。

2.启动项目

[root@VM_0_11_centos halo]# nohup java -jar halo-1.2.0.jar &
Linux 运行jar包命令如下:
方式一:
Java -jar shareniu.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?
方式二
java -jar shareniu.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?
方式三
nohup java -jar shareniu.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
方式四
nohup java -jar shareniu.jar >temp.txt &
解释下 >temp.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
可通过jobs命令查看后台运行任务

3.访问项目

前端页面:http://212.129.141.130:8080/

后端管理页面:http://212.129.141.130:8080/admin/index.html

结尾

    特别感谢:感谢您的访问!!!

 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值