httpd服务

httpd服务

1.httpd简介

httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows中做为服务运行。

编译安装httpd过程
  • 先下载并安装apr-1.6和apr-util-1.6
[root@hxdserver ~]# cd /usr/src/
[root@hxdserver src]# ls
apr-1.6.3.tar.bz2  apr-util-1.6.1.tar.bz2  debug  kernels
[root@hxdserver src]# tar xf apr-1.6.3.tar.bz2 
[root@hxdserver src]# tar xf apr-util-1.6.1.tar.bz2 
[root@hxdserver 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
//安装前先修改apr-1.6.3的configure文件,将$RM "$cfgfile" 前加上#注释掉。
[root@hxdserver src]# cd apr-1.6.3
[root@hxdserver apr-1.6.3]# vim configure

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

//准备工作做完了,开始编译安装httpd。

[root@hxdserver ~]# ls
anaconda-ks.cfg  httpd-2.4.34.tar.bz2

[root@hxdserver ~]# tar xf httpd-2.4.34.tar.bz2 
[root@hxdserver ~]# ls
anaconda-ks.cfg  httpd-2.4.34  httpd-2.4.34.tar.bz2
[root@hxdserver ~]# cd httpd-2.4.34/
[root@hxdserver 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@hxdserver httpd-2.4.34]# make && make install

//这样服务就装好了。
接下来就可以配置httpd服务了
//修改配置文件
[root@hxdserver ~]# vim /etc/httpd24/httpd.conf
找到ServerName www.example.com:80 //取消注释#号

//在文件最后添加如下配置
#virtual host 1 # 虚拟主机1的配置
<VirtualHost 192.168.226.130:80>
    ServerName www.dubaiiii.com
    DocumentRoot "/usr/local/apache/htdocs/www"
    ErrorLog "/usr/local/apache/logs/error_log"
    CustomLog "/usr/local/apache/logs/access_log" combined
    <Directory /usr/local/apache/htdocs/www>
        <Require>
        Require all granted
        </Require>
    <Directory>
</VirtualHost>

#virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.226.130:8080>
    ServerName blog.dubaiToT.com
    DocumentRoot "/usr/local/apache/htdocs/blog"
    ErrorLog "/usr/local/apache/logs/dubai-error_log"
    CustomLog "/usr/local/apache/logs/dubai-access_log" combined
    <Directory /usr/local/apache/htdocs/blog>
        <Require>
        Require all granted
        </Require>
    <Directory>
</VirtualHost>

[root@hxdserver ~]# cd /usr/local/apache/htdocs/
[root@hxdserver htdocs]# cd
[root@hxdserver ~]# vim /etc/httpd24/httpd.conf 
[root@hxdserver ~]# cd /usr/local/apache/htdocs/
[root@hxdserver htdocs]# mkdir www blog
[root@hxdserver htdocs]# ll
总用量 4
drwxr-xr-x. 2 root root  6 9月  17 19:47 blog
-rw-r--r--. 1 root root 45 6月  12 2007 index.html
drwxr-xr-x. 2 root root  6 9月  17 19:47 www
[root@hxdserver htdocs]# chown -R apache.apache blog
[root@hxdserver htdocs]# chown -R apache.apache www
//相同ip不同端口
[root@hxdserver ~]# vim /usr/local/apache/htdocs/blog/index.html  
[root@hxdserver ~]# vim /usr/local/apache/htdocs/www/index.html 
[root@hxdserver ~]# cat /usr/local/apache/htdocs/www/index.html 
hello jerry
[root@hxdserver ~]# cat /usr/local/apache/htdocs/blog/index.html 
hello tom
//在文件中添加不同的内容 
  • 切记每次测试之前修改过配置文件后一定要重启服务,还有防火墙一定要关。
测试

在浏览器输入192.168.226.130:80
在这里插入图片描述

还有192.168.226.130:8080
在这里插入图片描述

//不同ip相同端口

[root@hxdserver ~]# vim /etc/httpd24/httpd.conf 
#virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.226.131:80>
    ServerName www.dubaiToT.com
    DocumentRoot "/usr/local/apache/htdocs/blog"
    ErrorLog "/usr/local/apache/logs/dubai-error_log"
    CustomLog "/usr/local/apache/logs/dubai-access_log" combined
    <Directory /usr/local/apache/htdocs/blog>
        Require all granted
    </Directory>
</VirtualHost>

修改主机2的ip,再给网卡添加对应ip

[root@hxdserver ~]# ip addr add 192.168.226.131 dev ens33
[root@hxdserver htdocs]# apachectl restart
测试

在浏览器中输入192.168.226.131
在这里插入图片描述

//相同ip相同端口不同域名
修改本机文件
在这里插入图片描述
在hosts文件中添加
192.168.226.130 www.dubaiiii.com
192.168.226.130 blog.dubaiToT.com

修改配置文件

[root@hxdserver ~]# vim /etc/httpd24/httpd.conf
#virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.226.130:80>
    ServerName blog.dubaiToT.com
    DocumentRoot "/usr/local/apache/htdocs/blog"
    ErrorLog "/usr/local/apache/logs/dubai-error_log"
    CustomLog "/usr/local/apache/logs/dubai-access_log" combined
    <Directory /usr/local/apache/htdocs/blog>
        Require all granted
    </Directory>
</VirtualHost>
[root@hxdserver htdocs]# apachectl restart

测试

//先将浏览器缓存清除
输入www.dubaiiii.com
在这里插入图片描述
输入blog.dubaiToT.com
在这里插入图片描述

<think>好的,我现在需要帮助用户解决如何启动httpd服务的问题。首先,我需要回顾用户提供的引用资料,看看里面有哪些相关的步骤。引用[1]提到安装httpd和PHP,然后使用systemctl启动和启用服务。引用[2]和引用[3]也提到了安装、启动以及处理防火墙和SELinux的问题。用户可能是在Linux系统上操作,所以重点应该放在使用yum安装,systemctl命令,以及可能的防火墙配置。 首先,我应该分步骤整理安装和启动的流程。第一步是安装httpd,用户可以使用yum install httpd。然后启动服务,用systemctl start httpd,并设置开机启动。接下来,用户可能需要检查防火墙状态,如果防火墙开启,可能会阻止访问,所以需要临时或永久关闭防火墙。此外,SELinux的配置也可能影响服务,需要将其设置为disabled或者permissive模式。 需要注意的是,关闭防火墙可能会有安全风险,所以应该提醒用户根据实际情况处理,或者配置防火墙允许HTTP流量。另外,修改SELinux后需要重启系统,这一点也要提到。可能用户会遇到无法访问的情况,这时候检查防火墙和SELinux是关键步骤。引用[4]中提到了在浏览器中测试,所以步骤中应该包含验证服务是否成功启动的部分,比如用curl或浏览器访问本地IP。 另外,用户可能遇到的问题比如服务启动失败,这时候可以建议查看日志文件,如journalctl -xe或者/var/log/httpd/error_log。同时,确保配置文件正确,比如httpd.conf中没有语法错误,虚拟主机配置是否正确启用。 总结步骤应该是:安装、启动服务、处理防火墙、处理SELinux、验证服务。每个步骤给出具体的命令,并解释可能需要的注意事项。同时,生成相关问题时,要考虑用户可能接下来会问的,比如配置虚拟主机、处理启动失败的问题,或者优化httpd配置等。</think>### 如何启动httpd服务 #### 一、安装httpd服务 1. **使用包管理器安装** 在CentOS/RHEL系统中,通过以下命令安装Apache HTTP服务器: ```bash yum install -y httpd ``` 此命令会自动安装最新版本的httpd及其依赖项[^1][^3]。 #### 二、启动httpd服务 2. **启动服务并设置开机自启** 安装完成后,通过以下命令启动服务: ```bash systemctl start httpd # 立即启动服务 systemctl enable httpd # 设置开机自动启动 ``` 使用`systemctl status httpd`可查看服务运行状态[^1][^3]。 #### 三、防火墙配置 3. **处理防火墙限制** 若系统启用了防火墙(firewalld),需开放HTTP/HTTPS端口: ```bash firewall-cmd --permanent --add-service=http # 开放HTTP(80端口) firewall-cmd --permanent --add-service=https # 开放HTTPS(443端口) firewall-cmd --reload # 重新加载防火墙规则 ``` 若需临时关闭防火墙(仅测试环境建议): ```bash systemctl stop firewalld # 临时关闭 systemctl disable firewalld # 永久关闭 ```[^3] 4. **禁用SELinux(可选)** 若SELinux导致访问异常,可编辑配置文件: ```bash vi /etc/selinux/config ``` 将`SELINUX=enforcing`改为`SELINUX=disabled`,然后重启系统[^3]。 #### 四、验证服务 5. **测试httpd服务** - 本地访问: ```bash curl http://localhost ``` 若返回默认Apache页面,则服务已正常运行。 - 远程访问: 在浏览器输入服务器IP(如`http://192.168.95.101`),显示默认页面即成功[^4]。 #### 五、常见问题处理 - **服务启动失败** 检查错误日志: ```bash journalctl -xe # 查看系统日志 tail -f /var/log/httpd/error_log # 查看httpd详细日志 ``` - **端口冲突** 确认80/443端口未被其他程序占用: ```bash netstat -tuln | grep ':80' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值