混合测试写一写

题目

服务器IP地址规划:client:12.0.0.12/24,网关服务器:ens36:12.0.0.1/24、ens33:192.168.44.1/24,Web1:192.168.44.30/24,Web2:192.168.44.50/24,Nginx:192.168.44.40/24。

① 在Nginx服务器上搭建LNMP服务,并且能够对外提供 Discuz 论坛服务

在Web1、We器上搭建Tomcat 服务。

nginx服务配置虚拟主机,新增两个域名 www.kgc.comwww.benet.com,使用 http:// www.kgc.com /index.php 可访问上一题的 Discuz 论坛页面。

使用 http:// www.benet.com 则访问/var/www/html目录中的index.html文件的内容,内容自定义。

③ 对基于 www.benet.com域名的虚拟机主机的nginx服务调优:隐藏nginx版本号,缓存静态图片网页时间为1天,设置防盗链功能。

④ 网关服务器搭建 NFS 服务,提供的文件系统使用 LVM 类型,共享目录名称为/ opt/nfs ;要求根据日期对 Discuz 论坛服务的访问日志进行日志分割,要求每天生成一份日志文件,保存到 NFS 服务共享的目录内

⑤ 要求配置location匹配请求地址http://www.kgc.com/test /XXXX ,使用户访问该路径下的文件时返回/ var/share/nginx/html /目录下的文件内容。

要求 使用rewrite将使用域名 www.benet.com 请求以 .php 结尾的访问都 跳转到域名www.kgc.com上,而且后面的参数保持不变,比如访问http://www. benet .com/bbs/index.php跳转到http://www.kgc.com/bbs/index.php。

⑥ 在 Nginx服务器上 对基于 www.benet.com域名的虚拟机主机 设置动静分离由 nginx 提供静态页面服务,将对 .jsp文件的动态页面请求转发到Tomcat 服务器处理,并实现负载均衡

在网关服务器上设置S NAT/DNAT ,使client使用网关服务器的ens36接口的I P 地址访问也可实现上一题的效果

操作:

client 配置

7-2 配置

① 在Nginx服务器上搭建LNMP服务,并且能够对外提供 Discuz 论坛服务 在Web1、Web2器上搭建Tomcat 服务。

7-4

① 安装 nginx

复制代码
cd /opt
tar zxvf nginx-1.22.0.tar.gz -C /opt/
 
 
cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \				            #指定nginx的安装路径
--user=nginx \										#指定用户名
--group=nginx \										#指定组名
--with-http_stub_status_module						#启用 http_stub_status_module 模块以支持状态统计
 
cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
 
make && make install
 
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/		
#让系统识别nginx的操作命令可以自动补全   nginx     $PATH
 
添加Nginx系统服务   systemctl  start   nginx
tee /lib/systemd/system/nginx.service   <<eof
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -1 $MAINPID
ExecStop=/bin/kill -3 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
eof
 
 
 
systemctl   daemon-reload
chmod 777 /lib/systemd/system/nginx.service
 
systemctl enable --now nginx.service

② 安装数据库

复制代码
准备好本次的安装包 :mysql-boost-5.7.20.tar.gz
 
1、安装Mysql环境依赖包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
 
 
yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
 
 
2、创建运行用户
useradd -M -s /sbin/nologin  mysql
 
3、编译安装
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
 
cd /opt/mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
 
make && make install
 
4、修改mysql 配置文件
vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
 
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
 
 
 
5、更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
 
6、设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
source /etc/profile
 
 
7、初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
 
 
8、添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
 
9、修改mysql 的登录密码
mysqladmin -u root -p password "abc123" 	
给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可
 
 
10、授权远程登录
mysql -u root -p

③ 安装php软件

复制代码
php的编译安装
 
本次使用的php软件包为:php-7.1.10.tar.bz2
 
1、安装环境依赖包
yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
 
2、编译安装
cd /opt
tar jxvf php-7.1.10.tar.bz2
 
cd php-7.1.10
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
 
make && make install
 
 
3、路径优化
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
 
 
 
4、调整PHP配置文件
php有三个配置文件: 
php.ini			主配置文件  
php-fpm.conf	进程服务配置文件 
www.conf		扩展配置文件
 
 
#调整主配置文件:
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini	
vim /usr/local/php/lib/php.ini
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai
 
php -m 					#验证安装的模块
 
 
#调整进程服务配置文件:
cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
--17行--去掉";"注释
pid = run/php-fpm.pid
 
#调整扩展配置文件:
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
 
5、启动php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000
 
#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。
 
cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service

④ 配置 nginx 支持 PHP 解析,并测试php和mysql是否工作正常

复制代码
vim /usr/local/nginx/conf/nginx.conf
--65行--取消注释,修改
location ~ \.php$ {
	root           html;   $document_root
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;	#将 /scripts 修改为nginx的工作目录
   #fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  #$document_root 代表当前请求在root指令中指定的值
	include        fastcgi_params;
}
 
systemctl restart nginx.service
 
验证PHP 测试页
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
 
验证lnmp的是否搭建成功:
192.168.44.40/index.php
 
 
 
验证数据库工作是否正常
mysql -u root -pabc123
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
 
vim /usr/local/nginx/html/index.php      		#替换原来的测试页内容
<?php
$link=mysqli_connect('192.168.233.21','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
 
浏览器访问
http://192.168.44.40/index.php

⑤ 安装论坛

复制代码
【部署 Discuz!社区论坛 Web 应用】
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip  
cd /opt/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/
 
调整论坛目录的权限:
cd /usr/local/nginx/html/bbs/
chown -R nginx ./config/
chown -R nginx ./data/
chown -R nginx ./uc_client/
chown -R nginx ./uc_server/
都要处理
chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/
 
论坛页面访问
http://192.168.44.40/bbs/install/index.php
----------------------------------------------------------------------------------------------------------
数据库服务器:localhost     ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
 
安装完后访问论坛页面:
http://192.168.44.40/bbs/index.php
http://192.168.44.40/bbs/admin.php

⑥ 看论坛是否正常运行

⑦安装 tomcat

7-3 7-5

先安装jdk环境

复制代码
[root@centos7 ~]#tar xvf jdk-8u291-linux-x64.tar.gz -C /usr/local/
[root@centos7 ~]#cd /usr/local/
[root@centos7 ~]#ln -s jdk1.8.0_291/ jdk
#初始化环境变量
[root@centos7 ~]#vim /etc/profile.d/jdk.sh
[root@centos7 ~]#cat /etc/profile.d/jdk.sh 
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre 
export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/
[root@centos8 ~]#. /etc/profile.d/jdk.sh

安装tomcat

复制代码
[root@localhost data]#tar xf apache-tomcat-9.0.16.tar.gz
 
[root@localhost data]#cp -r apache-tomcat-9.0.16 /usr/local/
 
 
[root@localhost data]#cd /usr/local/
 
 
[root@localhost local]#ln -s apache-tomcat-9.0.16/ tomcat

 
[root@localhost bin]#useradd -s /sbin/nologin tomcat
#新建用户
[root@localhost local]#chown tomcat:tomcat tomcat/ -R
#修改属主和属组

[root@localhost ~]#cat > /usr/lib/systemd/system/tomcat.service <<EOF
[Unit]
Description=Tomcat
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

EOF

[root@localhost local]#systemctl daemon-reload
[root@localhost local]#systemctl start tomcat
[root@localhost local]#ss -ntap |grep 8080

nginx服务配置虚拟主机,新增两个域名 www.kgc.comwww.benet.com,使用 http:// www.kgc.com /index.php 可访问上一题的 Discuz 论坛页面。

使用 http:// www.benet.com 则访问/var/www/html目录中的index.html文件的内容,内容自定义。

测试:

修改主机 C:\Windows\System32\drivers\etc 下面的 hosts 文件

对基于 www.benet.com域名的虚拟机主机的nginx服务调优:隐藏nginx版本号,缓存静态图片网页时间为1天,设置防盗链功能。

复制代码
 location ~* \.(jpg|gif|png|jpeg)$ {
        root  /var/www/html;
        valid_referers nono blocked *.benet.com benet.com;
        if ( $invalid_referer ){
          return 403;
        }
        }

测试:

④ 网关服务器搭建 NFS 服务,提供的文件系统使用 LVM 类型,共享目录名称为/ opt/nfs ;要求根据日期对 Discuz 论坛服务的访问日志进行日志分割,要求每天生成一份日志文件,保存到 NFS 服务共享的目录内

建立目录共享

nginx 服务挂载共享目录

日志分割

复制代码
#!/bin/bash
day=`date  "+%Y-%m-%d"`
log="/usr/local/nginx/logs"
pid=`cat  /usr/local/nginx/logs/nginx.pid`

mv /${log}/access.log  /opt/${day}
kill -USR1 ${pid}
sed -i '/.*bbs.*/!p' /opt/${day}

⑤ 要求配置location匹配请求地址http://www.kgc.com/test /XXXX ,使用户访问该路径下的文件时返回/ var/share/nginx/html /目录下的文件内容。

要求 使用rewrite将使用域名 www.benet.com 请求以 .php 结尾的访问都 跳转到域名www.kgc.com上,而且后面的参数保持不变,比如访问http://www. benet .com/bbs/index.php跳转到http://www.kgc.com/bbs/index.php。

⑥ 在 Nginx服务器上 对基于 www.benet.com域名的虚拟机主机 设置动静分离由 nginx 提供静态页面服务,将对 .jsp文件的动态页面请求转发到Tomcat 服务器处理,并实现负载均衡

在网关服务器上设置S NAT/DNAT ,使client使用网关服务器的ens36接口的I P 地址访问也可实现上一题的效果

配置防火墙策略

相关推荐
AlfredZhao4 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346610 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪11 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
网络研究院1 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理