ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 安装apache 1、查看httpd包是否可用: `# yum list | grep httpd` 2、安装Apache `# yum install httpd` 3、配置ServerName `# vi /etc/httpd/conf/httpd.conf` 如果没有域名,则:ServerName localhost:80 或者 ServerName 127.0.0.1:80 4、启动 `# service httpd start` 5、停止 `# service httpd stop` 6、重启 `# service httpd restart` 7、设置为自动启动 `# systemctl enable httpd.service` 8、浏览器访问ip地址测试是否成功访问 9、配置默认地址为项目根目录 此时如果服务器不能识别index.php,修改配置 ``` vi /etc/httpd/conf/httpd.conf <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> ``` 在其中添加index.php,且需要将index.php写在index.html前面 apache配置 serverName = 127.0.0.1 或者具体ip地址 修改默认目录为项目的根目录 ## 安装PHP 1、卸载旧版本PHP `# rpm -qa |grep php|xargs -i rpm -e {} --nodeps` 2、更新yum源 `# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` `# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm` 3、查看可使用的php包 `# yum list |grep php` 4、清除yum缓存 `# yum clean all` 5、安装php以及常用扩展 `# yum -y install php72w php72w-cli php72w-fpm php72w-mbstring php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-xml php72w-cli php72w-pdo php72w-pecl-memcached php72w-pecl-redis 72w-opcache php72w-ldap php72w-bcmath` 6、安装完成 输入 php -v 确认是否安装成功 7、启动php-fpm `# systemctl start php-fpm` 8、设置开机自启动 `# systemctl enable php-fpm.service` 9、检查开机自启动是否设置成功 `# systemctl list-dependencies | grep php-fpm` 10、修改php.ini的配置 `# vi /etc/php.ini` ``` post_max_size = 16M //修改 max_execution_time = 300 //修改 max_input_time = 300 //修改 date.timezone = Asia/Shanghai //新增 将注释取消 ``` ### 注意事项 开启php.ini 错误提醒有助于快速发现问题所在 开启方法: vi /etc/php.ini 找到 display_errors 开启 display_errors=On ### 如果连接不上数据库 报错:sqlstate[hy000] [2002] Permission denied 考虑关闭selinux `vi /etc/sysconfig/selinux` 把里边的一行改为 `SELINUX=disabled` setenforce 0 可以临时关闭,但重启之后还是会变成原来的状态。 修改/etc/sysconfig/selinux文件可以永久地禁用它。重启服务器生效 ### apache网站无法访问,问题排查: 1、查看80端口是否被其他占用 `netstat -lnp|grep 80` 正确显示 ``` ``` tcp 0 0 :::80 :::* LISTEN 2539/httpd tcp6 0 0 :::80 :::* LISTEN 2539/httpd ``` ``` 如果被其他应用程序占用,杀掉当前占用程序: `tcp/java 0 0 :::80 :::* LISTEN 4770` `# kill -9 4770` 确认是否关闭占用程序 `# netstat -lnp|grep 80` 2、查看防火墙是否开放80端口 netstat -anp Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1191/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1986/master tcp 0 52 192.168.1.72:22 192.168.168.44:57430 ESTABLISHED 2317/sshd: root@pts tcp6 0 0 :::80 :::* LISTEN 2539/httpd tcp6 0 0 :::22 :::* LISTEN 1191/sshd tcp6 0 0 :::88 :::* LISTEN 2539/httpd tcp6 0 0 ::1:25 :::* LISTEN 1986/master raw6 0 0 :::58 :::* 7 703/NetworkManage 此状态为 未开放 tcp 80端口 尝试开放80端口 1)查看防火墙状态 systemctl status firewalld #开放80端口 [root@localhost error]# firewall-cmd --zone=public --add-port=80/tcp --permanent success #重启防火墙 [root@localhost error]# systemctl restart firewalld.service 问题解决