3-1 综合项目

1、实验拓扑图

在这里插入图片描述

1.2 实验要求

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

2)为nginx服务配置虚拟主机,新增两个域名 www.kgc.com 和 www.benet.com,使用http://www.kgc.com/index.php可访问上一题的Discuz论坛页面。(10分)
使用http://www.benet.com则访问/var/www/html目录中的index.html文件的内容,内容自定义。(10分)

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

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

5)要求配置location匹配请求地址http://www.kgc.com/test/XXXX,使用户访问该路径下的文件时返回/var/share/nginx/html/目录下的文件内容。(10分)
要求使用rewrite将使用域名www.benet.com 请求以 .php 结尾的访问都跳转到域名www.kgc.com上,而且后面的参数保持不变,比如访问http://www.benet.com/bbs/index.php跳转到http://www.kgc.com/bbs/index.php。(10分)

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

7)在网关服务器上设置SNAT/DNAT,使client使用网关服务器的ens36接口的IP地址访问也可实现上一题的效果。(10分)

注:IP地址自己规划

2、在nginx服务器上搭建论坛服务

2.1 yum安装nginx

yum install -y nginx
systemctl start nginx.service 
systemctl status nginx.service

2.2 yum安装mysql

tee /etc/yum.repos.d/mysql.repo <<EOF
   25  [mysql57-community]
   26  name=MySQL 5.7 Community Server
   27  baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
   28  enabled=1
   29  gpgcheck=0
   30  EOF

##yum安装
yum -y install mysql-community-server
grep password /var/log/mysqld.log 
systemctl start mysqld

数据库内的操作

[root@localhost ~]# mysql -uroot -p'yo,gICbCt6Gh'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.44

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user root@'localhost' identified by 'abc123';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> 

2.3 编译安装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 -j2 && make install


3、路径优化
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

调整php配置文件

#调整主配置文件:
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini

vim /usr/local/php/lib/php.ini
--939--取消注释,修改
date.timezone = Asia/Shanghai

--1170--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock

#调整进程服务配置文件:
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


#用service文件启动php模块
cp /opt/php-7.1.10/sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service

2.4 配置NGINX 支持PHP解析

vim /usr/local/nginx/conf/nginx.conf
--65--取消注释,修改
location ~ \.php$ {
	root           html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

测试PHP是否能解析

vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

进入数据库创建数据库

mysql -u root -p
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.91.100','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

#浏览器访问
http://192.168.107.190/index.php
在这里插入图片描述

2.5 安装论坛

cd /opt
unzip Discuz_X3.4_SC_UTF8.zip  
cd /opt/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/

chown -R nobody ./config/
chown -R nobody ./data/
chown -R nobody ./uc_client/
chown -R nobody ./uc_server/

#论坛页面:详情见链接:https://blog.csdn.net/qq_69831828/article/details/147625314?spm=1001.2014.3001.5502
http://192.168.91.100/bbs/install/index.php

最终呈现:
在这里插入图片描述

3、在web服务器上安装tomcat

在此我们使用脚本一键安装的方法

#!/bin/bash
#安装jdk
install_jdk () {
if [ -e jdk-8u201-linux-x64.rpm ]
then
rpm -ivh jdk-8u201-linux-x64.rpm  &> /dev/null
   if  [ $? -eq 0 ]
   then
   echo  -e "\E[1;32mjdk安装成功 \E[0m"
   else
   echo -e "\E[1;31mjdk安装失败 \E[0m"
   fi
else
echo -e "\E[1;31m无jdk包\E[0m"
fi
}

#修改环境变量 

bl () {
echo  "
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar
export PATH=\$JAVA_HOME/bin:\$PATH"  >> /etc/profile

source  /etc/profile
}

tom ()  {

if [  -e   apache-tomcat-9.0.16.tar.gz ]
then 
tar zxvf apache-tomcat-9.0.16.tar.gz  &>/dev/null
cp -r apache-tomcat-9.0.16 /usr/local/tomcat  
useradd -s /sbin/nologin tomcat      
chown tomcat:tomcat /usr/local/tomcat/ -R

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



systemctl daemon-reload
systemctl start tomcat

if systemctl  status tomcat &>/dev/null 
then
echo  -e "\E[1;32m tomcat启动成功 \E[0m"
else
echo -e "\E[1;31m tomcat启动失败 \E[0m"
fi

else
echo  "无tomcat  安装包"
fi

ln -s /usr/local/tomcat/bin/*     /usr/bin

}




install_jdk

bl

java -version

tom
[root@localhost ~]# ls
anaconda-ks.cfg              install_tomcat_.sh       模板  文档  桌面
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm  视频  下载
initial-setup-ks.cfg         公共                     图片  音乐
[root@localhost ~]# bash install_tomcat_.sh 
jdk安装成功 
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
 tomcat启动成功 
[root@localhost ~]# 

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值