httpd服务器

1.编译安装httpd-2.4

实验环境

主机名操作系统ip地址
[root@httpd ~]rhel 7192.168.118.100/24

更改主机名,关闭防火墙和selinux

[root@localhost ~]# hostnamectl set-hostname httpd
[root@localhost ~]# bash
[root@httpd ~]# systemctl stop firewalld.service 
[root@httpd ~]# setenforce 0
[root@httpd ~]# getenforce 
Permissive

配置本地源

[root@httpd yum.repos.d]# vim haha.repo
[haha]
name=haha
baseurl=file:///mnt
enabled=1
gpgcheck=0

安装开发环境

[root@httpd ~]# yum groupinstall "Development Tools"
[root@httpd ~]# groupadd -r apache      #创建apache组
[root@httpd ~]# useradd -r -g apache apache   #创建apache用户并将其加入apache组中
[root@httpd ~]# yum -y install openssl-devel pcre-devel expat-devel libtool

下载并安装apr-1.6+和apr-until-1.6+(服务器要有网)

[root@httpd ~]# cd /usr/src/
[root@httpd src]# wget http://mirrors.shu.edu.cn/apache//apr/apr-1.6.3.
tar.bz2
[root@httpd src]# wget http://mirrors.shu.edu.cn/apache//apr/apr-util-1
.6.1.tar.bz2
[root@httpd src]# tar xf apr-1.6.3.tar.bz2
[root@httpd src]# tar xf apr-util-1.6.1.tar.bz2
[root@httpd src]# ls
apr-1.6.3  apr-1.6.3.tar.bz2  apr-util-1.6.1  apr-util-1.6.1.tar.bz2  debug  kernels
[root@httpd src]# cd apr-1.6.3
[root@httpd apr-1.6.3]# vim configure
    cfgfile="${ofile}T"
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    # $RM "$cfgfile"        #删除此行,或者加上注释
   

编译安装

[root@httpd apr-1.6.3]# ./configure --prefix=/usr/local/apr
[root@httpd apr-1.6.3]# make && make install
[root@httpd apr-1.6.3]# cd /usr/src/apr-util-1.6.1
[root@httpd apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util -
-with-apr=/usr/local/apr
[root@httpd apr-util-1.6.1]# make && make install

编译安装httpd

[root@httpd ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.3
4.tar.bz2
[root@httpd ~]# ls
httpd-2.4.34.tar.bz2
[root@httpd ~]# tar xf httpd-2.4.34.tar.bz2
[root@httpd ~]# cd httpd-2.4.34
[root@httpd httpd-2.4.34]# ./configure --prefix=/usr/local/apache \
--sysconfdir=/etc/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
[root@httpd httpd-2.4.34]# make && make install

开启服务

[root@httpd bin]# ./apachectl start
[root@httpd bin]# pwd
/usr/local/apache/bin

查看服务进程(运行中)

[root@httpd ~]# ps -ef |grep httpd
root      40225      1  0 10:47 ?        00:00:01 /usr/local/apache/bin/httpd -k start
root      40446   6276  0 10:57 pts/2    00:00:00 vim /etc/httpd24/httpd.conf
daemon    40766  40225  0 11:17 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon    40767  40225  0 11:17 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon    40768  40225  0 11:17 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon    40769  40225  0 11:17 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon    40770  40225  0 11:17 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon    40825  40225  0 11:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start
root      43027   6276  0 15:18 pts/2    00:00:00 grep --color=auto httpd

在客户机上验证服务
这里写图片描述

2.配置三种不同风格的虚拟主机

2.1 相同Ip不同端口

创建网页

[root@httpd htdocs]# pwd
/usr/local/apache/htdocs
[root@httpd htdocs]# mkdir jerry
[root@httpd htdocs]# mkdir tom
[root@httpd htdocs]# echo 'hello' > /usr/local/apache/htdocs/tom/index.html
[root@httpd htdocs]#echo 'hello world' > /usr/local/apache/htdocs/jerry/index.html
 [root@httpd htdocs]# ls
haha.log  index.html  jerry  tom

更改配置文件的内容

[root@httpd ~]# vim /etc/httpd24/httpd.conf 
201 # If your host doesn't have a registered DNS name, enter its IP addres    s here.
202 #
203 ServerName www.example.com:80    #取消前面的#号
204 # Deny access to the entirety of your server's filesystem. You must

[root@httpd ~]# vim /etc/httpd24/httpd.conf 
#Listen 12.34.56.78:80
Listen 80
Listen 8080   #添加监听8080端口

更改配置文件

[root@httpd ~]# vim /etc/httpd24/httpd.conf 
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin   #在配置文件下增加如下内容
</IfModule> 
<VirtualHost 192.168.118.100:80>         #虚拟主机1
    ServerName www.ls.com
    DocumentRoot "/usr/local/apache/htdocs/tom"
    ErrorLog "/usr/local/apache/htdocs/haha.log"
    CustomLog "/usr/local/apache/htdocs/haha.log" combined
    <Directory /usr/local/apache/htdocs/tom>
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost 192.168.118.100:8080>         #虚拟主机2,端口为8080
    ServerName www.jerry.com
    DocumentRoot "/usr/local/apache/htdocs/jerry"
    ErrorLog "/usr/local/apache/htdocs/haha.log"
    CustomLog "/usr/local/apache/htdocs/haha.log" combined
    <Directory /usr/local/apache/htdocs/jerry>
        Require all granted
    </Directory>
</VirtualHost>
"/etc/httpd24/httpd.conf" 530L, 19464C 

重启服务

[root@httpd bin]# ./apachectl restart
[root@httpd bin]# pwd
/usr/local/apache/bin

windows客户机上验证服务
这里写图片描述
这里写图片描述

2.2相同端口不同ip

增加虚拟主机2的ip

[root@httpd ~]# ip addr add 192.168.118.111/24 dev ens33    #增加ip
[root@httpd ~]# ip a                     #查看ip
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:df:b0:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.118.100/24 brd 192.168.118.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.118.111/24 scope global secondary ens33
       valid_lft forever preferred_lft forever

更改配置文件

[root@httpd ~]# vim /etc/httpd24/httpd.conf 
##
#       but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>        
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin           #在配置文件末尾增加如下内容
</IfModule>       
<VirtualHost 192.168.118.100:80>           #虚拟主机1
    ServerName www.ls.com
    DocumentRoot "/usr/local/apache/htdocs/tom"
    ErrorLog "/usr/local/apache/htdocs/haha.log"
    CustomLog "/usr/local/apache/htdocs/haha.log" combined
    <Directory /usr/local/apache/htdocs/tom>
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost 192.168.118.111:80>            #虚拟主机2  ip为192.168.118.111
    ServerName www.jerry.com
    DocumentRoot "/usr/local/apache/htdocs/jerry"
    ErrorLog "/usr/local/apache/htdocs/haha.log"
    CustomLog "/usr/local/apache/htdocs/haha.log" combined
    <Directory /usr/local/apache/htdocs/jerry>
        Require all granted
    </Directory>
</VirtualHost>

重启服务

[root@httpd bin]# ./apachectl restart
[root@httpd bin]# pwd
/usr/local/apache/bin

在客户机上刷新验证服务

这里写图片描述
这里写图片描述

2.3相同IP相同端口不同域名

更改配置文件

[root@httpd ~]# vim /etc/httpd24/httpd.conf 
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin       #在配置文件下增加如下内容
</IfModule>
<VirtualHost 192.168.118.100:80>     #虚拟主机1与虚拟主机二ip和端口号相同
    ServerName www.ls.com              #虚拟主机1访问域名
    DocumentRoot "/usr/local/apache/htdocs/tom"
    ErrorLog "/usr/local/apache/htdocs/haha.log"
    CustomLog "/usr/local/apache/htdocs/haha.log" combined
    <Directory /usr/local/apache/htdocs/tom>
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost 192.168.118.100:80>
    ServerName www.jerry.com         #虚拟主机二访问域名
    DocumentRoot "/usr/local/apache/htdocs/jerry"
    ErrorLog "/usr/local/apache/htdocs/haha.log"
    CustomLog "/usr/local/apache/htdocs/haha.log" combined
    <Directory /usr/local/apache/htdocs/jerry>
        Require all granted
    </Directory>
</VirtualHost>

在windows客户机上增加环境变量,让虚拟域名和虚拟主机ip对照

在这里插入图片描述
在hosts文件里面底行增加ip与域名的映射

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
192.168.118.100 www.ls.com      #增加此行
192.168.118.100 www.jerry.com   #增加此行

重启服务

[root@httpd bin]# ./apachectl restart
[root@httpd bin]# pwd
/usr/local/apache/bin

在客户机验证刷新验证服务

这里写图片描述

这里写图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值