CentOS7下搭建JavaWeb服务器环境

CentOS7下搭建JavaWeb服务器环境

0.目录:

安装JDK
安装Tomcat
安装MySQL
安装Nginx

1.准备

安装好CentOS7系统,并使用XShell连接到服务器,为了上传文件,安装一款工具:yum install lrzsz -y,安装后检测:rpm -qa |grep lrzsz,后续便可以通过命令:rz来打开上传文件窗口,选择您要上传的文件上传到当前路径下。同样,可以通过命令:sz 文件名打开文件保存窗口,选择下载文件的保存位置。

2.安装JDK

1.首先查询是否有旧版JDK:rpm -qa | grep java

2.若有旧版JDK进行卸载:rpm -e –nodeps

3.安装JDK8,首先创建一个Java的文件夹:mkdir /usr/local/java

4.去官网下载JDK安装包(64位)JDK下载官网,登录后即可下载:
在这里插入图片描述

5.将安装包上传/usr/local/java/目录下(使用前面在XShell安装的工具的命令):rz
在这里插入图片描述
在这里插入图片描述
6.解压安装包:tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/java/
注意:如果提示command not found,那需要安装下tar命令,执行命令:yum install -y tar

7.配置环境变量:vi /etc/profile。在/etc/profile文件的末尾加上以下配置:

JAVA_HOME=/usr/local/java/jdk1.8.0_251 #jdk1.8.0_251替换为实际目录名
JRE_HOME=/usr/local/java/jdk1.8.0_251/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

8.使修改后的/etc/profile文件立即生效:source /etc/profile

9.查看版本,检查是否安装成功:java -version
在这里插入图片描述
自此,JDK安装完毕!

附:这里补充另一种通过yum命令来傻瓜式一键安装的方法:
1.首先执行以下命令查看可安装的jdk版本:yum -y list java*
在这里插入图片描述
2.选择自己需要的jdk版本进行安装,比如这里安装1.8,执行以下命令:yum install -y java-1.8.0-openjdk-devel.x86_64
3.等待安装完成后环境变量的配置方法同前面,该方法的JAVA_HOME在/usr/lib/jvm/目录下,请自行查看。

所以其实可以看出来一键安装虽然方便,但是不能指定自己的目录,不便于自己管理和查找。

3.安装Tomcat

1.Tomcat安装方法同JDK,首先去官网下载Tomcat安装包Tomcat下载官网
在这里插入图片描述
2.将Tomcat上传到/usr/local/目录下,然后解压:tar -zxvf apache-tomcat-9.0.36.tar.gz -C /usr/local/,并将目录重命名为tomcat:mv apache-tomcat-9.0.36 tomcat,安装完成后可以将之前的安装包删除:rm -f apache-tomcat-9.0.36.tar.gz
在这里插入图片描述
在这里插入图片描述
3.测试启动tomcat:cd /usr/local/tomcat/bin/./startup.sh,并在浏览器通过ip访问欢迎项目。
在这里插入图片描述
在这里插入图片描述
注:如果是VMware虚拟机下可以通过宿主主机浏览器访问,虚拟机下网络配置方法可参考的我的另一篇记录:VMware下CentOS7网络配置
4.测试成功关闭tomcat:./shutdown.sh

4.安装MySQL8

1.首先查看是否安装过mysql:rpm -qa | grep -i mysql

2.若安装了则首先卸载旧版本:yum -y remove MySQL-*

一般用rpm -e 的命令删除mysql,这样表面上删除了mysql,可是mysql的一些残余程序仍然存在,并且通过第一步的方式也查找不到残余,而yum命令比较强大,可以完全删除mysql.(ps:用rpm删除后再次安装的时候会提示已经安装了,这就是rpm没删除干净的原因)

3.把所有出现的目录都删除,使用:find / -name mysql查看所有mysql配置,将结果使用:rm -rf 文件名逐一删除。

4.删除配置文件:rm -rf /etc/my.cnf

5.删除mysql的默认密码:rm -rf /root/.mysql_sercret

删除mysql的默认密码,如果不删除,以后安装mysql这个sercret中的默认密码不会变,使用其中的默认密码就可能会报类似Access denied for user ‘root@localhost’ (using password:yes)的错误。

这样mysql就全部删除干净了,若没安装过mysql可忽略以上步骤。

6.删除mariadb文件,由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB:

查看:rpm -qa | grep mariadb
可能结果:mariadb-libs-5.5.56-2.el7.x86_64
删除:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
如果出错,则使用强制删除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
在这里插入图片描述
7.去官网下载mysql的安装包:mysql下载官网,选择Red Hat ,CentOS 是基于红帽的,版本选择linux7,选择 RPM Bundle进行下载。
在这里插入图片描述
8.上传安装包到/usr/local/mysql目录下:
在这里插入图片描述
9.解压tar安装包:tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
在这里插入图片描述
10.安装如下模块:

安装common:rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force
安装libs:rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force
安装client:rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force
安装server:rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force
安装完毕后查看 mysql 的安装包:rpm -qa | grep mysql
在这里插入图片描述
11.接下来对数据库进行初始化和配置,依次执行:
mysqld --initialize
若执行初始化报错:

mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因是没有安装libaio.so.1,安装即可:yum install libaio
 
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld

12.查看随机生成的数据库密码:cat /var/log/mysqld.log | grep password
在这里插入图片描述
13.进入数据库登陆界面:mysql -uroot -p,输入刚才查询的初始密码进行登录:

14.修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
在这里插入图片描述
15.测试是否修改成功,退出mysql:exit,然后通过新密码重新登录。

16.进行远程访问的授权,依次执行:
create user 'root'@'%' identified with mysql_native_password by '远程访问密码';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
在这里插入图片描述
17.修改加密规则,MySql8.0 版本和5.0的加密规则不一样,而现在的可视化工具只支持旧的加密方式:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

18.刷新修该后的权限:flush privileges;
在这里插入图片描述
19.退出mysql:exit,关闭 firewall:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

20.安装 iptables 防火墙:yum -y install iptables-services
在这里插入图片描述
21.启动设置防火墙:systemctl enable iptablessystemctl start iptables

22.编辑配置防火墙,添加端口:vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

在这里插入图片描述
23.重启防火墙使配置生效:systemctl restart iptables.service

24.设置防火墙开机启动:systemctl enable iptables.service

25.使用Navicat连接测试,输入之前设置好的远程登录用户名root和设置的密码:
在这里插入图片描述
连接成功:
在这里插入图片描述

4.安装Nginx

安装nginx前首先需要安装其所需的相关插件。

1.安装gcc,首先查看gcc版本 :gcc -v,如果没有安装的话则进行安装:yum -y install gcc

2.pcre、pcre-devel安装,pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库:yum install -y pcre pcre-devel

3.zlib安装,zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装:yum install -y zlib zlib-devel

4.安装openssl,openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。:yum install -y openssl openssl-devel

环境准备好后开始安装Nginx。

5.首先进入目录:cd /usr/local/src,在该目录下下载nginx安装包:wget http://nginx.org/download/nginx-1.18.0.tar.gz,最新稳定版本安装包请自行前往官网查看。

6.将压缩包解压到当前目录:tar -zxvf nginx-1.18.0.tar.gz

7.进入nginx-1.18.0目录:cd /usr/local/java/nginx-1.18.0/,依次执行如下三个命令:
在目录里生成Makefile文件:./configure
生成二进制文件:make
把相关文件拷贝到对应的目录中,默认是/usr/local/nginx:make install

8.至此,nginx则安装完毕,且默认安装到/usr/local/nginx目录。

9.现在可测试运行Nginx,进入到安装目录的sbin目录下:cd /usr/local/nginx/sbin/,启动服务:./nginx。启动后访问默认的80端口即可,关于nginx的其他详细配置和使用这里不做介绍。
在这里插入图片描述

本文来源MrKorbin,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/25288

发表评论