Centos部署PHP

环境:Centos7

安装PHP步骤:

一:安装依赖

复制代码
yum install epel-release -y

yum install gcc openssl-devel libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel -y

二:下载php源码⽂件

复制代码
 cd /usr/local/src

 wget https://www.php.net/distributions/php-7.4.11.tar.xz

三:编译安装php

复制代码
tar xf php-7.4.11.tar.xz

cd php-7.4.11

./configure --prefix=/usr/local/php74 -enable-mysqlnd--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-config-file-path=/etc/php74 --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets -enable-fpm --enable-maintainer-zts --disable-fileinfo

make && make install

四:⽣成配置⽂件

复制代码
cp /usr/local/src/php-7.4.11/php.ini-production

/etc/php.ini

cd /usr/local/php74/etc/
 
cp php-fpm.conf.default php-fpm.conf

cd php-fpm.d/

cp www.conf.default www.conf

grep '^[^;]' www.conf
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

五:创建访问⽇志路径

复制代码
mkdir -p /usr/local/php74/log

六: 启动并验证php

复制代码
 /usr/local/php74/sbin/php-fpm -t
[24-Feb-2023 21:16:06] NOTICE: configuration file /usr/local/php74/etc/php-fpm.conf
test is successful

 cp -a /usr/local/src/php-7.4.11/sapi/fpm/php-
fpm.service /usr/lib/systemd/system/

 systemctl daemon-reload

 systemctl enable --now php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to
/usr/lib/systemd/system/php-fpm.service.

 ss -lntp|grep 9000
LISTEN   0    128   127.0.0.1:9000           *:*         
users:(("php-fpm",pid=124723,fd=8),("php-fpm",pid=124722,fd=8),("php-
fpm",pid=124721,fd=6))

七:配置nginx⽀持fastcgi

复制代码
vim /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes  1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid    logs/nginx.pid;
events {
 worker_connections  1024;
}
http {
 include    mime.types;
 default_type application/octet-stream;
 sendfile    on;
 keepalive_timeout  65;
 server {
   listen    80;
   server_name localhost;
   location / {
     root  /data/wordpress;  #指定wordpress⽬录
     index index.php index.html index.htm;  #指定默认主⻚
   }
   error_page  500 502 503 504 /50x.html;
   location = /50x.html {
     root  html;
   }
   
   location ~ \.php$ {  #实现php-fpm
     root      /data/wordpress;
     fastcgi_pass  127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include    fastcgi_params;
   }
 }
}

cd /usr/local/nginx/sbin/

 ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

systemctl restart nginx

八:测试php

复制代码
mkdir -p /data/wordpress

cd /data/wordpress/

 vim test.php
<?php
phpinfo();
?>
相关推荐
赵民勇7 分钟前
systemd-cgtop命令详解
linux·运维
sbjdhjd40 分钟前
大三网安秋招核心学习前言(AI 安全 + Web 漏洞 + 内网渗透全考点)
人工智能·网络协议·学习·安全·网络安全·开源·php
hhwyqwqhhwy42 分钟前
Ubuntu22.04 安装vitis
linux
运维行者_1 小时前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
刚入门的大一新生1 小时前
Linux-Linux第一个系统程序-进度条
linux·运维·服务器
wuminyu1 小时前
JDK21解决虚拟线程IO阻塞原理剖析
java·linux·c语言·jvm·c++
茫忙然2 小时前
Linux提权辅助查询工具——BinLens的安装和使用
linux·提权·binlens
FlightYe2 小时前
linux系统编程(八):阻塞与非阻塞IO对比
android·linux·运维·服务器·github·vim
吴声子夜歌2 小时前
正则指引——PHP
开发语言·正则表达式·php
Claire_883 小时前
企业文件管理系统选型技术框架与主流产品对比分析
开发语言·php