关闭 selinux: vi /etc/selinux/config
修改配置文件:将SELINUX=enforcing改为SELINUX=disabled
getenforce #查看selinux状态
setenforce #设置seLinux设置
sestatus #查看系统selinux的策略,运行模式等信息,查看状态
临时关闭(不用重启机器,重启后失效):setenforce 0
#enforcing:强制模式 selinux运行中,正确的开始限制domain/type
#permissive:宽容模式 selinux运行中,只有警告信息没有实际限制
#disables:关闭 没有实际运行
重启:reboot #查看为disabled则关闭完成
关闭防火墙:systemctl stop firewalld
安装nginx:(我主页上有)
安装nginx—并创建域名主机_*源的博客-CSDN博客_nginx 主域名
mkdir -p /www/web #创建目录
cd /www/web
touch index.php #创建文件
vi index.php
输入:
<?php
phpinfo();
?>
//保存退出
cd /usr/local/nginx/conf
vi nginx.conf #进入nginx的主配置文件中,支持php文件的解析
找到下面的位置进行修改:
location ~ \.php$ {
root /www/web; #指定php的根目录
fastcgi_pass 127.0.0.1:9000; #php-fpm的默认端口是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}测试nginx.conf是否修改成功
/usr/local/nginx/sbin/nginx -t

重启nginx
/usr/local/nginx/sbin/nginx -s reload
安装php
第一步:下载安装包,上传到服务器后,解压到指定目录
tar -zxvf php-8.1.4.tar.gz -C /usr/local/
第二步:安装依赖包
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2
libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
openssl-devel libxslt-devel -y
第三步:编译安装(先进入 cd /usr/local)
./configure \
--prefix=/usr/local/php-8 \ 指定PHP程序安装目录
--with-apxs2=/usr/bin/apxs \ 调用apache2
--with-mysql=/usr/share/mysql \ 调用mysql
--with-xmlrpc \ 打开XML-RPC的C语言
--with-openssl \ 打开openssl支持
--with-zlib \ 打开zlib库的支持
--with-freetype-dir \ 打开对FreeType字体库的支持
--with-gd \ 打开GD库的支持
--with-jpeg-dir \ 打开对JPEG图片的支持
--with-png-dir \ 打开对png图片的支持
--with-iconv \ 开启iconv函数,完成各种字符集间的转换
--enable-short-tags \ 开启开始和标记函数
--enable-sockets \ 开启sockets支持
--enable-zend-multibyte \ 开启zend的多字节支持
--enable-soap \ 开启soap模块
--enable-mbstring \ 开启mbstring库的支持
--enable-static \ 生成静态链接库
--enable-gd-native-tty \ 支持Truetype字符串函数库
--with-curl \ 打开curl浏览工具的支持
--with-xsl \ 打开xslt文件支持
--enable-ftp \ 开启ftp支持--enable-fpm \
--with-libxml-dir 打开libxml2库的支持make && make install #等待时间有点长,请耐心等待
# 报错解决方案:
1.configure:error:Package requirements (sqlite3 > 3.7.4) were not met:
原因:在Centos8环境中配置php-7.4.19出现如上错误是因为缺少sqlite相关库
解决方法如下:(类似问题同样解决方法)
yum install sqlite-devel
2.configure: error: Package requirements (oniguruma) were not met:No package 'oniguruma' found
解决方法:wget http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/oniguruma- 5.9.5-3.el7.art.x86_64.rpm
yum localinstall oniguruma-5.9.5-3.el7.art.x86_64.rpmwget http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/oniguruma- devel-5.9.5-3.el7.art.x86_64.rpm
yum localinstall oniguruma-devel-5.9.5-3.el7.art.x86_64.rpm

启动php-fpm
到/usr/local/etc目录下,将php-fpm.conf.default拷贝一份成php-fpm.conf
cd /usr/local/etc
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf #编辑配置文件
最后一行改为:
include=/usr/local/etc/php-fpm.d/*.conf
进入到/usr/local/etc/php-fpm.d/目录下,将www.conf.default拷贝一份成www.conf
cd php-fpm.d
cp www.conf.default www.conf
vi www.conf #编辑配置文件,将user和group改成和nginx.conf中的user和group一致
user = www group = www
启动php-fpm
/usr/local/sbin/php-fpm
[29-Apr-2022 20:03:48] ERROR: [pool www] cannot get uid for user 'www' #当出现这样的问题
解决:
groupadd www
useradd -g www www
再重新启动:
/usr/local/sbin/php-fpm
查看php运行
ps -aux | grep php

开启nginx,并查看运行
/usr/local/nginx/sbin/nginx
ps -ef | grep nginx

开机启动php-fpm,开机启动的配置文件是:/etc/rc.local ,加入 /usr/local/sbin/php-fpm
vi /etc/rc.local 添加 /usr/local/sbin/php-fpm
在浏览器输入:http://ip/index.php
