生产环境—LAMP网站服务器部署—超详细—理论+实验!!!

一、LAMP介绍

        LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和
相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具
体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、
Python)网页编程语言。本章将以源码编译的方式搭建 LAMP 环境,能够满足企业定
制化的需求。
        在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。
其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后,
负责沟通 Web 服务器和数据库系统以协同工作。

二、Apache 简介

        Apache HTTP Server”是开源软件项目的杰出代表,基于标准的 HTTP 网络协议提供
网页浏览服务,在 Web 服务器领域中长期保持着超过半数的份额。Apache 服务器可以运
行在 Linux、UNIX、Windows 等多种操作系统平台中。
        Apache 服务器是针对之前出现的若干个 Web 服务器程序进行整合、完善后形成的软
件,其名称来源于“A Patchy Server”,意思是“基于原有 Web 服务程序的代码进行修改(补
丁)后形成的服务器程序”。
1995 年, Apache 服务程序发布了 1.0 版本,之后一直由“Apache Group”负责该项目
的管理和维护;直到 1999 年,在“Apache Group”的基础上成立了 Apache 软件基金会
(Apache Software Foundation,ASF)。目前,Apache 项目一直由 ASF 负责管理和维护。
        ASF 是非盈利性质的组织,最初只负责“Apache Web”服务器项目的管理,随着 Web
应用需求的不断扩大,ASF 逐渐增加了许多与 Web 技术相关的开源软件项目,因此 Apache
现在不仅仅代表着 Web 服务器,更广泛地代表着 ASF 管理的众多开源软件项目。ASF 基
金会的官方网站是 http://www.apache.org/。
        “Apache HTTP Server”是 ASF 旗下著名的软件项目之一,其正式名称是“httpd”,也就
是历史上的 Apache 网站服务器。在后续内容中,若未作特殊说明,使用“Apache”或者“httpd”,
均指的是“Apache HTTP Server”。

三、Apache 的主要特点

  1. 开放源代码:这是 Apache 服务器的重要特性之一,也是其他特性的基础。
    Apache 服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使
    用,这充分体现了开源软件的精神。
  2. 跨平台应用:这个特性得益于 Apache 的源代码开放。Apache 服务器可以运
    行在绝大多数软硬件平台上,所有 UNIX 操作系统都可以运行 Apache 服务
    器,甚至 Apache 服务器可以良好地运行在大多数 Windows 系统平台中。
    Apache 服务器的跨平台特性使其具有被广泛应用的条件。
  3. 支持各种Web 编程语言:Apache服务器可支持的网页编程语言包括Perl、PHP、
    Python、Java 等,甚至微软的 ASP 技术也可以在 Apache 服务器中使用。支
    持各种常用的 Web 编程语言使 Apache 具有更广泛的应用领域。
  4. 模块化设计:Apache 并没有将所有的功能集中在单一的服务程序内部,而是
    尽可能地通过标准的模块实现专有的功能,这为 Apache 服务器带来了良好的
    扩展性。其他软件开发商可以编写标准的模块程序,从而添加 Apache 本身
    并不具有的其他功能。
  5. 运行非常稳定:Apache 服务器可用于构建具有大负载访问量的 Web 站点,很
    多知名的企业网站都使用 Apache 作为 Web 服务软件。
  6. 良好的安全性:Apache 服务器具有相对较好的安全性,这是开源软件共同具
    有的特性。并且,Apache 的维护团队会及时对已发现的漏洞提供修补程序,
    为 Apache 的所有使用者提供尽可能安全的服务器程序。

四、LAMP网站服务器部署

4.1、搭建YUM仓库

[root@localhost ~]# mount /dev/cdrom /mnt  ##临时挂载
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总用量 32
## 这里我们搭建YUM本地源仓库
-rw-r--r--. 1 root root 1664 11月 23 21:16 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 11月 23 21:16 CentOS-CR.repo
-rw-r--r--. 1 root root  649 11月 23 21:16 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 11月 23 21:16 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 11月 23 21:16 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 11月 23 21:16 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 11月 23 21:16 CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/  ##把本地源放进创建的backup目录
[root@localhost yum.repos.d]# cp backup/CentOS-Base.repo local.repo  ## 复制一个本地源文件
[root@localhost yum.repos.d]# vi local.repo  ## 对复制的本地源文件进行编辑。进去之后 36dd 删除原来的配置,然后再改下面的配置
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@localhost ~]# systemctl stop firewalld    ## 关闭防火墙
[root@localhost ~]# systemctl disable firewalld    ## 开机自动关闭防火墙
[root@localhost ~]# vi /etc/selinux/config ##关闭核心防护
SELINUX=disabled ## 这句前面的#号去掉
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
到这里本地源YUM仓库就搭建好了

4.2、编译安装HTTP服务

  • 将这三个软件包传到opt目录下
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz
  • 对压缩包进行解压
[root@localhost ~]# cd /opt
[root@localhost opt]# ll
总用量 8020
-rw-r--r--  1 root root 1071074 8月   4 17:33 apr-1.6.2.tar.gz
-rw-r--r--  1 root root  565507 8月   4 17:33 apr-util-1.6.0.tar.gz
-rw-r--r--  1 root root 6567926 8月   4 17:33 httpd-2.4.29.tar.bz2
drwxr-xr-x. 2 root root       6 3月  26 2015 rh

[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# yum -y install bzip2  ## 如果是最小化安装需要安装bzip2
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2

[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util 
  • 安装环境编译HTTP的环境
##################安装环境##################
[root@localhost opt]# 
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
  • 安装配置模块
[root@localhost opt]# cd /opt/httpd-2.4.29/  ## 安装模块
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
####配置模块解释####
--prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
--enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力。
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网
--enable-cgi:启用 CGI 脚本程序支持,便于扩展网站的应用访问能力。
  • 编译安装
###编译及安装### 
make -j3 && make install                 
### -j3是你核心数,最大不要超过虚拟机的核心数
  • 优化执行路径
####优化执行路径####
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
httpd -v      ###查看下HTTP版本
Server version: Apache/2.4.29 (Unix)
Server built:   Aug 31 2020 02:01:04
  • 建立[service].service 配置文件添加系统给服务。在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,用于控制由 systemd 管理或监控的 httpd 服务
###建立[service].service 配置文件添加系统给服务####
在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,
用于控制由 systemd 管理或监控的 httpd 服务
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
  • 设置启动http和开机自启http,并且查看http的运行状态
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service         ###开机自启http
[root@localhost system]# systemctl is-enabled httpd.service   ###检查HTTP单元是否启动
  • httpd.conf修改配置文件
####httpd.conf修改配置文件###
[root@localhost system]# vi /usr/local/httpd/conf/httpd.conf
[root@localhost system]# ServerName www.TX.com:80  ###这里面的网址可以自己任意改。
[root@localhost system]# systemctl restart httpd####重启httpd服务
  • 现在我们在浏览器进行试验!
netstat -anpt | grep 80   ###查看一下80端口启动了没

在浏览器里面输入该虚拟机的IP地址;
这里我们验证成功!!!
在这里插入图片描述

补充:

这个地址是放 /usr/local/httpd/htdocs/index.html 网页文件的地方。

在这里插入图片描述
对 index.html里面的内容进行改变,改成 Hello World
再重新再浏览器里面输入虚拟机IP,会发现显示的内容已经变化了
在这里插入图片描述

4.3、安装MySQL

4.3.1、MySQL 概述

        MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

        MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

        MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

4.3.2、MySQL 的编译安装

  • 环境准备
[root@localhost ~]#      ## 安装环境  
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

[root@localhost ~]# yum install ncurses-devel autoconf cmake -y
[root@localhost ~]# useradd -s /sbin/nologin  mysql
  • 上传mysql-boost-5.7.20.tar.gz到opt目录下并进行解压
[root@localhost ~]# cd /opt
[root@localhost ~]# tar zxf mysql-boost-5.7.20.tar.gz
[root@localhost ~]# cd /optv/mysql-5.7.20/

  • cmake 配置
[root@localhost 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_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

配置选项含义

  1. DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库程序安装到某目录下,如目录/usr/local/ mysql。
  2. DSYSCONFDIR:指定初始化参数文件目录。
  3. DDEFAULT_CHARSET:指定默认使用的字符集编码,如 utf8。
  4. DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci,是适用于 UTF-8 字符集的通用规则。
  5. DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
  • 编译安装
[root@localhost mysql-5.7.20]# make -j3 && make install
  • 数据库目录进行权限调整
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/
  • 建立调整配置文件
[root@localhost ~]# vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
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
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
  • 设置环境变量
[root@localhost ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile  
[root@localhost ~]# echo 'export PATH' >> /etc/profile  ## 声明全局变量
[root@localhost ~]# source /etc/profile  ### 使加入的数据生效,使mysql的相关命令识别
  • 初始化数据库
##########初始化数据库,使用mysql进行初始化#############
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \
--initialize-insecure \  ###初始化命令
--user=mysql \  ###指定用户
--basedir=/usr/local/mysql \  ###指定工作目录
--datadir=/usr/local/mysql/data  ###指定数据存放位置
  • 编辑启动脚本
####将mysql的服务脚本从软件内复制到/lib/systemd/system中#####
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
#######开启服务在设置开机启动#######
[root@localhost mysql]# systemctl enable mysqld
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]# systemctl status mysqld
  • 设置用户密码
[root@localhost mysql]# mysqladmin -u root -p password "123456"	'//给root用户设置密码'
'//mysqladmin -u用户名 -p旧密码 password 新密码'
Enter password: 	'//原本密码为空,直接回车即可'
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql]# mysql -u root -p
Enter password: 	'//输入刚设置的密码123456'
...省略内容
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit
Bye

4.4、安装PHP环境

        PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域

        PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持Unix,Windows,Linux等多种操作系统

4.4.1、环境准备并配置

[root@localhost ~]# yum -y install \
libjpeg \				    #jpeg图片识别
libjpeg-devel \				#jpeg开发包
libpng libpng-devel \	    #png图片识别还有开发包
freetype freetype-devel \	#freetype 识别字体
libxml2 \				    #xml文件格式识别
libxml2-devel \ 
zlib zlib-devel \			#zlib压缩
curl curl-devel \			#curl 支持文件上传下载,网页端的下载
openssl openssl-devel		#身份验证去连接网站
  • 解压缩源码包
#######上传php-7.1.10.tar.bz2包到opt目录下#####
cd /opt
tar xjvf php-7.1.10.tar.bz2  ###解压php包
  • configure配置属性,make编译
[root@localhost php-7.1.10]#./configure \
--prefix=/usr/local/php \							#指定安装目录
--with-mysql-sock=/usr/local/mysql/mysql.sock \		#指向mysql的sock文件,用以后台程序去连接数据库
--with-mysqli \										#客户终端工具,可以直接去访问mysql服务器,去找它进行定义存储过程,事务的处理一些功能
--with-zlib \
--with-curl \
--with-gd \											#gd是一个图像化的处理
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \                               #字体
--with-openssl \
--enable-fpm \										#fpm 是指动态请求的模块
--enable-mbstring \									#mbstring 多节点字符串
--enable-xml \										#xml 启用xml格式支持
--enable-session \									#支持session会话
--enable-ftp \										#网页可以ftp的功能
--enable-pdo \										#pdo 类似一个通用的接口一样,下面的不同的数据库的数据,会统一接口接收
--enable-tokenizer \ 								#tokenizer 是一个函数库
--enable-zip	

############ make编译 ############## 时间有点长,耐心等待!!! 
[root@localhost php-7.1.10]# make -j3 && make install
  • 配置PHP的两个配置文件
cp php.ini-development /usr/local/php/lib/php.ini ### 
vi /usr/local/php/lib/php.ini

mysqli.default_socket = /usr/local/mysql/mysql.sock  # 搜索到mysqli.default_socket 
date.timezone = Asia/Shanghai  # 搜索到date.timezone   # 添加市区
/usr/local/php/bin/php -m //验证安装的模块
vi /etc/httpd.conf 

#######搜索AddType,然后在合适位置新增下面两句######
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

#########搜索DirectoryIndex,然后找到这行后把下面这行代码补齐#########
DirectoryIndex index.php index.html
rm -f /usr/local/httpd/htdocs/index.html  ### 删除index.html文件
vi /usr/local/httpd/htdocs/index.php  ### 编辑新的index.php
#######添加下面代码###########
<?php
phpinfo();
?>
[root@localhost php-7.1.10]# vi /etc/httpd.conf  

#Include conf/extra/httpd-vhosts.conf  ### 关闭这个

Listen 80     ### 找到监听端口,监听端口改成这样

systemctl restart httpd   ### 重启一下httpd服务
  • 测试一下,在真机浏览器输入服务器ip地址 20.0.0.26
    显示以下页面就是成功了!

在这里插入图片描述

4.4.2、测试数据库是否可以正常工作

mysql -u root -p  #### 输入密码进入,然后把下面四条命令一条一条复制进去

CREATE DATABASE myadm;         ### 创建数据库
GRANT all ON myadm.* TO 'myadm'@'%' IDENTIFIED BY 'admin123';  # 授权给myadm账户,密码是admin123,可以访问myadm数据库,*代表所有的表
GRANT all ON myadm.* TO 'myadm'@'localhost' IDENTIFIED BY 'admin123';  
flush privileges;  ### 刷新后台

vi /usr/local/httpd/htdocs/index.php  ### 更改首页信息,把下面命令复制进去

<?php
$link=mysqli_connect('20.0.0.6','myadm','admin123');  ### 需要把ip改成服务器ip地址
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
  • 输入20.0.0.26测试下,下图就是成功的!!!

在这里插入图片描述

五、LAMP 架构应用实例

5.1、部署phpMyAdmin 系统

        phpMyAdmin是一个使用PHP语言编写,用来管理MySQL数据库的Web应用系统。通过该套件的网页界面,几遍是对SQL语句不太熟悉的人,也能够非常容易的对MySQL数据库进行管理和维护。

5.2、进行建立配置文件

  • 上传phpMyAdmin-4.7.6-all-languages.zip到opt下面并进行解压

        这里我们需要注意的是,如果没有unzip,需要进行yum安装
安装命令: yum -y install unzip

[root@localhost ~]# cd /opt
[root@localhost opt]# unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/
mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm  ### 将解压的东西移动到myadm目录下
cd /usr/local/httpd/htdocs/myadm  ### 进入到myadm目录 
cp config.sample.inc.php config.inc.php ### cp一下让其生效

vi config.inc.php          ### 然后改一下配置信息
$cfg['Servers'][$i]['host'] = '127.0.0.1'; //把localhost 改成该虚拟机的IP地址 ,在31行进行改动!

5.3、验证

  • 测试输入20.0.0.26/myadm
    使用root 以及前面为root配置的密码登录管理系统。可以对数据库进行管理操作了 。(我自己设置的账户密码root 123456)

测试成功!

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

        使用phpMyAdmin 系统时,应先通过MySQL服务器中授权的数据库用户进行登录(如我们这次的就是用户root,密码123456),认证成功后可以看到管理界面,

在这里插入图片描述

我们也可以在该页面进行数据库的各种操作,如:建表,插入数据,搜索数据,修改表的结构等等。。。

在这里插入图片描述

六、站点部署

最后在补充一个站点部署

6.1 基于域名主机的

  • 创建51xit和52xit目录
  • 在往两个文件里单独输入字符
[root@www ~]# mkdir -p /opt/www/html/51xit.top 
[root@www ~]# mkdir -p /opt/www/html/52xit.top
[root@www ~]# echo "<h1>www.51xit.top</h1>" > /opt/www/html/51xit.top/index.html
[root@www ~]# echo "<h1>www.52xit.top</h1>" > /opt/www/html/52xit.top/index.html
[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
############配置文件#############
<VirtualHost *:80>                                                             ####设置 51xit.top 虚拟站点区域
    DocumentRoot "/opt/www/html/51xit.top" 
    ServerName www.51xit.top
    ErrorLog "logs/www.51xit.top.error_log" 
    CustomLog "logs/www.51xit.top.access_log" common
    <Directory "/opt/www/html">
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>                                                             ####设置 52xit.top 虚拟站点区域
    DocumentRoot "/opt/www/html/52xit.top" 
    ServerName www.52xit.top
    ErrorLog "logs/www.52xit.top.error_log" 
    CustomLog "logs/www.52xit.top.access_log" common
    <Directory "/opt/www/html">
       Require all granted
    </Directory>
</VirtualHost>

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf  ####注意啦!全局配置文件ServerName前面要加#
Include conf/extra/httpd-vhosts.conf  ####加载独立的配置文件    
[root@www ~]# systemctl restart httpd     ####重启服务使新配置生效   
  • 在客户端yum安装一下lynx工具
yum -y install lynx
  • 登录客户端访问www.51xit.top ,在访问www.52xit.top验证一下
[root@localhost ~]# lynx www.51xit.top

在这里插入图片描述

[root@localhost ~]# lynx www.52xit.top

在这里插入图片描述

6.2 基于IP地址的

(使用上面实验的环境下做的)

主机上现在有一块网卡,在添加一块网卡,然后配置一下新网卡

  • 查看一下新网卡的UUID ,并把新网卡UUID复制下来
[root@localhost ]# nmcli connection 
  • 在进入默认网卡目录查看一下,并复制编辑新网卡
[root@localhost ]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ll

[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36     ### 复制ens33网卡信息到新网卡ens36
[root@localhost network-scripts]# vi ifcfg-ens36  编辑ens36网卡,改成以下图片所示!

在这里插入图片描述

  • 重启一下网卡,关闭ens36网卡,在开启ens36网卡
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifdown ens36
[root@localhost network-scripts]# ifup ens36
  • 在把配置里修改一下
[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
############只把*号改成ip地址就行#############
<VirtualHost 192.168.100.41:80>   ###只把*号改成ip地址就行                                           ####设置 51xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/51xit.top" 
ServerName www.51xit.top
...... 
</VirtualHost>

<VirtualHost 192.168.100.42:80>   ###只把*号改成ip地址就行                  
 ####设置 52xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/52xit.top" 
ServerName www.52xit.top
...... 
</VirtualHost>
  • 把Include conf/extra/httpd-vhosts.conf 前面的#号去掉,没有的话就不用去掉!!!
[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf           ####加载独立的配置文件
[root@www ~]# systemctl restart httpd     ####重启服务使新配置生效   
  • 在真机访问的话,要把host映射一下
C:\Windows\System32\drivers\etc ###真机host目录 
######添加这两条#######
20.0.0.6 www.51xit.top

192.168.30.6 www.52xit.top
  • 验证一下,登录客户机访问www.51xit.top 在访问www.52xit.top
    在这里插入图片描述
    在这里插入图片描述

6.3 基于端口的

(使用上面实验的环境下做的,和上面两个基本一样,就是把端口改一下就行)

  • 一块网卡:20.0.0.6

  • 把Include conf/extra/httpd-vhosts.conf 前面的#号去掉,没有的话就不用去掉!!!

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf           ####加载独立的配置文件
  • 在把配置里修改一下
[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 20.0.0.6:80>   ###只把端口号改一下就行                                           ####设置 51xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/51xit.top" 
ServerName www.51xit.top
...... 
</VirtualHost>

<VirtualHost 20.0.0.6:8080>   ###只把端口号改一下就行                  
 ####设置 52xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/52xit.top" 
ServerName www.52xit.top
...... 
</VirtualHost>
  • 把监听端口加上
[root@www ~]# vi /usr/local/httpd/conf/httpd.conf       ####省略部分内容
Include conf/extra/httpd-vhosts.conf                               ####加载独立的配置文件
Listen 192.168.100.41:80                                                   ####监听 80 端口
Listen 192.168.100.41:8080                                               ####监听 8080 端口
  • 重启httpd
[root@www ~]# systemctl restart httpd                             ####重启服务使新配置生效   
  • 更改客户端hosts映射关系
[root@localhost ~]# vi /etc/hosts

#############改成这样###############
20.0.0.6  www.51xit.top
20.0.0.6  www.52xit.top
  • 登录客户机访问www.51xit.top 在访问www.52xit.top,验证一下就行。
[root@localhost ~]# lynx www.51xit.top

在这里插入图片描述

[root@localhost ~]# lynx www.52xit.top

在这里插入图片描述

        实验到这里就完成啦,真正的生产环境项目!希望大家可以好好吸收并巩固这次的知识!以后还会持续更新更多干活!希望大家可以一键三连,谢谢!!!

猜你喜欢

转载自blog.csdn.net/m0_46563938/article/details/108321606