Centos下操作Apache httpd

简介: Centos下操作Apache httpd

这里说的是Apache基金会下的httpd web服务器组件,官网地址:http://httpd.apache.org/

【1】安装httpd

① 检测是否安装

Centos6下通常默认安装,Centos7未安装。

[root@janus www]# rpm -qa|grep httpd
httpd-tools-2.2.15-53.el6.centos.x86_64
httpd-2.2.15-53.el6.centos.x86_64

② yum命令安装

如果没有安装,则可以使用yum命令直接安装:

yum install httpd -y

当然也可以自行下载二进制包手动编译安装。

③ 操作命令

service httpd status    #查看服务状态
service httpd start     #启动服务
service httpd stop      #停止服务
service httpd restart   #重启服务
systemctl enable httpd  #Centos7下设置服务开机启动


另外,httpd默认监听80端口,所以需要保证80端口没有被占用,且被防火墙放开。或者,换个监听端口也可以。


④ 关闭selinux

如果不关闭selinux,就要做针对性配置,否则会出现诸如403 Forbidden,或者you have no privileges…之类错误提示。


⑤ 浏览器访问默认页面


【2】创建用户家目录站点

Centos6下直接修改httpd.conf:

[root@janus www]# vim /etc/httpd/conf/httpd.conf
<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
   #UserDir disabled  #这里注释掉
    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html #这里放开注释
</IfModule>


设置每个用户 web 站点目录的访问权限:

<Directory "/home/*/public_html">
  Options Indexes FollowSymLinks
  AllowOverride None
  Allow from all
</Directory>


创建用户并设置密码:

useradd jane
passwd jane

在用户家目录创建文件夹public_html并添加index.html即可访问!

su jane
mkdir public_html
cat > ./public_html/index.html
this is jane virtual host!


需要注意的是,若是提示404或者403,不妨查看下httpd的错误日志根据错误进行解决。如果遇到权限问题,可以使用如下命令添加执行权限:

chmod -R a+x /home/*

Centos7下主要步骤一致,区别是你用yum安装的httpd默认的httpd.conf中没有<IfModule mod_userdir.c>,但是有配置文件userdir.conf,在这里面修改即可!

浏览器访问实例如下:



【3】配置基于同一IP不同端口的站点目录

需求:访问不同端口,展示不同站点目录的文件。

① 创建两个目录并分别在目录下创建文件index.html

mkdir /var/www/vhost-ip8000
mkdir /var/www/vhost-ip8888


将编辑好的index.html放到对应目录下。

② 修改httpd.conf

追加配置如下:

Listen 8000
Listen 8888
<VirtualHost 192.168.18.130:8000>
DocumentRoot /var/www/vhost-ip8000
</VirtualHost>
<VirtualHost 192.168.18.130:8888>
DocumentRoot /var/www/vhost-ip8888
</VirtualHost>


重启服务,即可访问测试!


【4】配置基于不同IP地址的虚拟主机

① 在/var/www下分别创建vhost-ip30 、vhost-ip40目录


② 分别在两个目录中创建对应的index.html

[root@janus www]# cat > vhost-ip30/index.html
<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title></title>
        </head>
        <body>
                <p>virtual host 192.168.18.30</p>
        </body> 
</html>      
[root@janus www]# cat > vhost-ip40/index.html
<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title></title>
        </head>
        <body>
                <p>virtual host 192.168.18.40</p>
        </body>
</html>
^C
[root@janus www]#

③ 设置网卡的别名,并为其分别设置ip地址

[root@janus www]#  ifconfig eth0:0 192.168.18.30 netmask 255.255.255.0 up
[root@janus www]#  ifconfig eth0:1 192.168.18.40 netmask 255.255.255.0 up
[root@janus www]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F7:4F:28
          inet addr:192.168.18.130  Bcast:192.168.18.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fef7:4f28/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2780 errors:0 dropped:0 overruns:0 frame:0
          TX packets:777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:221194 (216.0 KiB)  TX bytes:111819 (109.1 KiB)
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:F7:4F:28
          inet addr:192.168.18.30  Bcast:192.168.18.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:F7:4F:28
          inet addr:192.168.18.40  Bcast:192.168.18.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:226 errors:0 dropped:0 overruns:0 frame:0
          TX packets:226 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11340 (11.0 KiB)  TX bytes:11340 (11.0 KiB)

需要注意的是,这种方法设置别名,重启即会实效,有两种方案可以解决:


1.将增加ip别名的命令填写到/etc/rc.local文件中

2.手动编写ip别名的网卡配置文件

所有网卡的配置文件都保存在/etc/sysconfig/network-scripts目录中,一个网卡对应一个配置文件,文件ifcfg-eth0就是本机网卡的配置文件,我们可以通过仿照这个文件的格式来编写其他ip别名的配置文件。


清除ip别名:

ifconfg eth0:0 down
ifconfg eth0:1 down

④ 编辑/etc/httpd/conf/httpd.conf配置文件

追加配置如下:

<VirtualHost 192.168.18.30>
DocumentRoot /var/www/vhost-ip30
</VirtualHost>
<VirtualHost 192.168.18.40>
DocumentRoot /var/www/vhost-ip40
</VirtualHost>

重启httpd服务,使用不同ip地址访问!




目录
相关文章
|
1月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
200 1
|
3月前
|
安全 Linux 网络安全
如何在 CentOS 7 上为 Apache 创建 SSL 证书
如何在 CentOS 7 上为 Apache 创建 SSL 证书
58 0
|
1月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
47 1
|
6月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
127 0
|
3月前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
195 0
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 服务器上安装和保护 phpMyAdmin 与 Apache 的方法
在 CentOS 7 服务器上安装和保护 phpMyAdmin 与 Apache 的方法
64 0
|
6月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之遇到报错:Apache Kafka Connect错误如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
211 5
|
6月前
|
Linux Apache
Centos7 安装Apache
安装Apache的步骤
98 6
|
资源调度 Kubernetes 负载均衡
CentOS 7.x安装微服务网关Apache APISIX
APISIX是基于云原生的微服务API网关,它是所有业务流量的入口,可以处理传统的南北向流量(server-client),也可以处理服务间的东西向流量(server-server),也可以当做 k8s ingress controller 来使用。
721 0
CentOS 7.x安装微服务网关Apache APISIX