centos7.0 web服务器搭建「建议收藏」

2022-09-01 10:16:47 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

centos7.0 web服务器搭建

前言

按照先易后难排序,在vmware虚拟机环境 下模拟,统一防火墙为Firewall ,统一在xshell下操作终端实现搭建. (强烈建议新手 安装选择 带gui服务器 这样终端 操作可以复制,分析文件,熟系操作之后可以最小安装(如果没有桌面,用xshell连接操作终端比较方便),我就是进过这样的坑)

关于搭建分为三步 ,第一步 配置网络(非虚拟机真机情况下不清楚),第二步 安装mysql并且开放 端口远程连接,第三步 安装配置 jdk tomcat 开放端口

新手一枚 ,有甚错误还请多多交流(建议使用本文相同 工具)

工具

CentOS-7-x86_64-DVD-1804.iso

apache-tomcat-8.5.32.tar.gz

xshell 6 xftp 6

Navicat 11

资源链接

pan.baidu.com/s/1Npq8K7hcno1I6RPa3wNF6A

第一步 网络配置 工具获取

首先在终端操作,vmware 下网络没有配置,先配置网络

代码语言:javascript复制
ip add

ens33 为要配置的以太网

代码语言:javascript复制
cd /etc/sysconfig/network-scripts
代码语言:javascript复制
ls

进入 该目录下修改 网络配置

代码语言:javascript复制
vi ifcfg-ens33

vi 工具编辑 i 进入修改模式 按ESC : 输入wq 保存退出

代码语言:javascript复制
shutdown -r now

重启 生效

代码语言:javascript复制
ping www.baidu.com

测试网络 获得ip 地址

代码语言:javascript复制
ip add

得到192.168.159.134/24

代码语言:javascript复制
cd /etc/sysconfig/network-scripts
代码语言:javascript复制
vi ifcfg-ens33
代码语言:javascript复制
shutdown -r now

重启 安装 perl (可能包括了之后要用的 wget net 查询等依赖工具)

代码语言:javascript复制
yum install perl*

第二步 mysql 安装配置

安装 完以上就可以用 xshell 连接 服务器终端操作(针对最小化安装)。

安装wget

代码语言:javascript复制
yum install wget

MySQL 5.6

代码语言:javascript复制
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

MySQL5.7

代码语言:javascript复制
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

MySQL5.6

代码语言:javascript复制
rpm -ivh mysql-community-release-el7-5.noarch.rpm

MySQL5.7

代码语言:javascript复制
yum -y install mysql57-community-release-el7-10.noarch.rpm
代码语言:javascript复制
yum -y update

有点久耐心等待 MySQL5.6

代码语言:javascript复制
yum install mysql-server

MySQL5.7

代码语言:javascript复制
yum -y install mysql-community-server
代码语言:javascript复制
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld.service
代码语言:javascript复制
mysql_secure_installation

第一次enter y 设置mysql 密码 接着一路选y

代码语言:javascript复制
mysql -u root -p

登录mysql , 测试成功 输入 exit; 退出mysql

配置防火墙

代码语言:javascript复制
firewall-cmd --permanent --zone=trusted --add-source=192.168.159.1/32 

ip可以从 xshell 上 获取 记得加上(xshell 可以看到上次登录ip ) /32 windows下cmd 执行 ipconfig 也可以得到; (参考国外帖子,不懂,大概是设置你电脑 ip 可以进入防火墙,为了可以远程访问这个服务器) 这个 ip 一定要设对 ,后面测试才有用 。不然防火墙会拦截ip ,开启了3306 也没用。(我视频里没注意,结果测试只能用 ssh 连接 而不是 3306 ,不过连接功能也可以实现)

开放3306 端口

代码语言:javascript复制
firewall-cmd --permanent --zone=trusted --add-port=3306/tcp

重载服务

代码语言:javascript复制
firewall-cmd --reload

mysql 设置远程访问权限

代码语言:javascript复制
mysql -u root -p
代码语言:javascript复制
use mysql 
代码语言:javascript复制
grant all on  *.* to 'root' @'%'  identified  by 'password'; 
代码语言:javascript复制
flush privileges;

测试远程访问:

第三步 tomcat 环境安装配置

配置jdk(这里用 open jdk )

代码语言:javascript复制
yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

得到jdk的地址 记下之后配置用

代码语言:javascript复制
sudo update-alternatives --config java

这里有一个坑 ,当然是我参考的 这里得到 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/bin/java

但是一定要去掉 /bin/java, 如果加上 tomcat启动不了,亲测。

代码语言:javascript复制
vi /etc/environment
代码语言:javascript复制
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre"

输入并保存

代码语言:javascript复制
vi ~/.bash_profile
代码语言:javascript复制
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH

输入并保存

代码语言:javascript复制
source ~/.bash_profile

使更改生效

代码语言:javascript复制
echo $JAVA_HOME  

检查成功


安装 配置 tomcat 创建tomcat 用户,用户组

代码语言:javascript复制
groupadd tomcat
代码语言:javascript复制
useradd -s /bin/false -g tomcat -d  /opt/tomcat tomcat

用 xftp 上传文件 到 opt 当然上传的方式很多

代码语言:javascript复制
cd / opt / 
tar -xzvf apache-tomcat-8.5.32.tar.gz

如上opt 下系统生成了一个空的tomcat 文件夹,如果没有 mkdir tomcat 创建一个

代码语言:javascript复制
mv apache-tomcat-8.5.32/* tomcat/

这句的命令就是把 解压出来的 apache-tomcat-8.5.32文件夹下的所有文件 移动到 tomcat 文件夹下去。

代码语言:javascript复制
chown -hR  tomcat: tomcat
chown -hR  tomcat: tomcat tomcat

将tomcat文件夹 的 权限给 tomcat 用户 用户组


测试 tomcat 是否可用

代码语言:javascript复制
/opt/tomcat/bin/startup.sh

可以浏览器 localhost:8080 (gui ) 或者 ip:8080 不好说清楚,你懂得。

测试成功 关闭tomcat

代码语言:javascript复制
/opt/tomcat/bin/shutdown.sh

赋予权限

代码语言:javascript复制
cd  /opt/tomcat/bin/
chown -hR tomcat:tomcat /opt/tomcat/
代码语言:javascript复制
vi catalina.sh   
#setting tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"  注释后 加入并保存
代码语言:javascript复制
cd /etc/systemd/system/
vi tomcat.service

按自己的情况修改

代码语言:javascript复制
[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre"
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target

保存退出

将tomcat 加入系统自启动

代码语言:javascript复制
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat

查看8080 端口状况 ,tomcat服务 运行情况

代码语言:javascript复制
netstat -plntu
systemctl status tomcat

修改一些文件

代码语言:javascript复制
cd /opt/tomcat/conf/
vi tomcat-users.xml

倒数第二行加入

代码语言:javascript复制
示例
<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
我的
<role rolename="manager-gui"/>
<user username="admin" password="7436" roles="manager-gui,admin-gui"/>

这个是 tomcat 管理页面的账户设置 ,重要,建议用户名不要改 ,貌似用户名有限定。 wq保存退出

代码语言:javascript复制
cd /opt/tomcat/webapps/manager/META-INF/
vi context.xml

注释19-20 行 如下 :

代码语言:javascript复制
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.d .d .d |::1|0:0:0:0:0:0:0:1" /> -->
</Context>

保存退出

代码语言:javascript复制
cd /opt/tomcat/webapps/host-manager/META-INF/
vi context.xml

注释如下 保存 退出

代码语言:javascript复制
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.d .d .d |::1|0:0:0:0:0:0:0:1" /> -->

重启tomcat 配置防火墙

代码语言:javascript复制
systemctl restart tomcat

systemctl start firewalld
systemctl enable firewalld

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

firewall-cmd --list-ports
firewall-cmd --list-services

测试页面 如下 ok

心得体验

小谈一下,搭建服务器虽然没有太繁杂,但是也是花了几天,只要工作外有空闲就查资料。对于我这样的新手来说还是有挑战的。不过这其中参考的资料很多,centos 7 及之前的版本有很多不同, 7就是一个分界线,比如系统启动的不同。几乎用的 7以上系统 不用参考 以下的帖子。所以找来的资料各不相同,还有很多存在错误,jdk手动配置 source 不生效, mysql 安装 配置环境变量不成功,包括最后参考的这两篇国外的 ,也有像 pid 未写入等错误。不足,jdk未使用oracle jdk ,jdk,mysql 未做到离线安装,以后改进


视频地址:

http://v.youku.com/v_show/id_XMzcxMDgxMzE1Ng==.html

参考资料

https://blog.csdn.net/jasonhector/article/details/78657532 https://www.howtoforge.com/tutorial/how-to-install-tomcat-on-centos/ https://idroot.net/tutorials/how-to-install-mysql-server-on-centos-7/

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140108.html原文链接:https://javaforall.cn

0 人点赞