CentOS 7.4.1708环境下Bitrix服务器Apache无法正常运行求助
看起来你遇到的情况有点迷惑——Apache日志显示服务已经正常启动,但实际就是没法正常运行对吧?先别着急,我们一步步拆解问题:
首先看你贴出的这段Apache日志:
[Mon Mar 05 03:33:12.118466 2018] [mpm_prefork:notice] [pid 1351] AH00163: Apache/2.4.6 (CentOS) PHP/7.0.26 OpenSSL/1.0.2k-fips configured -- resuming normal operations
[Mon Mar 05 03:33:12.118482 2018] [core:notice] [pid 1351] AH00094: Command line: '/usr...
这段日志其实是Apache启动成功的通知,说明服务本身已经完成配置加载并开始运行了。你觉得它“无法正常运行”,大概率是Bitrix部署后的访问异常、功能异常,或者Apache虽然启动但无法处理请求,而非服务没启动。下面是具体的排查步骤:
1. 先确认Apache的实际运行状态
先执行这两个命令,确认服务真的在跑:
ps aux | grep httpd systemctl status httpd
如果systemctl status显示active (running),那服务确实没问题,问题出在其他环节;如果显示失败,那得去看真正的错误日志(不是你贴的启动通知,路径一般是/var/log/httpd/error_log)。
2. 检查Bitrix的Apache配置是否有语法冲突
Bitrix部署时会自动添加专属的Apache配置文件,一般在/etc/httpd/conf.d/或者/etc/httpd/sites-available/目录下。先检查配置语法是否正确:
httpd -t
如果输出Syntax OK说明配置没问题;如果报错,根据提示修正对应的配置项(比如路径写错、重写规则语法错误这类常见问题)。
3. 检查端口是否被占用
确认Apache监听的80/443端口有没有被其他服务抢了:
netstat -tulpn | grep :80 netstat -tulpn | grep :443
要是发现有其他进程占用端口,要么停掉那个进程,要么修改Apache的监听端口(在/etc/httpd/conf/httpd.conf里找Listen指令改就行)。
4. 查看完整的错误日志
你贴的是启动通知日志,真正的错误信息都在error_log里,用这个命令看最新的50条错误:
tail -n 50 /var/log/httpd/error_log
如果是Bitrix相关的问题,这里会给出具体提示——比如文件权限不够(Bitrix要求/bitrix/目录有apache用户的读写权限),可以用下面的命令修复:
chown -R apache:apache /path/to/bitrix chmod -R 755 /path/to/bitrix
5. 测试基础Apache功能
先暂时把Bitrix的配置移走,重启Apache后测试基础访问:
mv /etc/httpd/conf.d/bitrix.conf /etc/httpd/conf.d/bitrix.conf.bak systemctl restart httpd curl http://localhost
如果能看到Apache的默认页面,说明Apache本身没问题,问题肯定出在Bitrix的配置或代码上;要是还是没法访问,检查防火墙规则,确保http/https服务被允许:
firewall-cmd --list-all
内容的提问来源于stack exchange,提问作者Kosov0

