centos9安装php8及以上,nginx配置

本文介绍了如何配置EPEL和Remi软件仓库,安装PHP8.1扩展,使用LaravelSupervisord管理和启动PHP任务,以及调整Nginx配置以配合PHP-FPM和处理Laravel请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置EPEL源

dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

配置Remi源

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

选择需要安装的版本包

dnf module enable php:remi-8.1

安装PHP 扩展

dnf install php php-cli php-common

查看安装结果

php -v

相关启动php命令

启动php:
systemctl stop php-fpm.service
systemctl restart php-fpm.service
systemctl start php-fpm.service

重启nginx:
nginx -s reload
nginx -c /etc/nginx/nginx.conf
nginx -s stop
ningx配置目录:/etc/nginx/nginx.conf

laravel-supervisord配置

[program:pd-worker]
directory = /var/www/html/pd ; 程序的启动目录
command = sudo -u nginx php artisan queue:work --queue=default,pd_notify_0 --tries=3 --max-time=3600 --daemon ; 启动命令

autostart = true     ; 在 supervisord 启动的时候也自动启动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
user = root          ; 用哪个用户启动
redirect_stderr = false  ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 100MB  ; stdout 日志文件大小,默认 50MB
stderr_logfile_maxbytes = 100MB  ;
stdout_logfile_backups = 180     ; stdout 日志文件备份数;需要注意当指定目录不存在时无法正常启动,
stderr_logfile_backups = 180     ;
stdout_logfile = /var/www/logs/pd/pd-worker.access.log
stderr_logfile = /var/www/logs/pd/pd-worker.error.log

nginx配置

server {
       listen          80;
       listen          18080;
       #server_name     _;
       server_name h5.iu6liu0jahvilum.top gm.iu6liu0jahvilum.top analysis.iu6liu0jahvilum.top merchant.iu6liu0jahvilum.top server.iu6liu0jahvilum.top control.iu6liu0jahvilum.top;
       #root            /var/www/html;
       root            /var/www/html/pd/public;
       location / {
	       index index.html index.php;
	       # 去掉index.php
	       if (!-e $request_filename) {
	               rewrite ^(.*)$ /index.php?s=/$1 last;
	               break;
	       }
       }

        location ~ \.php(.*)$ {             # 正则匹配.php后的pathinfo部分
            fastcgi_pass    unix:/run/php-fpm/www.sock;
            fastcgi_index   index.php;
#            fastcgi_param   SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
            fastcgi_param   PATH_INFO $1;         # 把pathinfo部分赋给PATH_INFO变量
            include         fastcgi_params;
	    fastcgi_param   SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
        }

       error_log /var/www/logs/pd/error.log;
       access_log /var/www/logs/pd/access.log;
}
### 安装PHP配置NginxCentOS 8 #### 准备工作 为了确保环境适合安装,确认系统的软件包索引是最新的。这可以通过执行 `dnf update` 命令来完成。 #### 安装PHP及相关模块 对于CentOS 8而言,推荐通过官方仓库或其他可信第三方源如Remi’s RPM Repository获取最新版本的PHP及其扩展库。首先启用PowerTools存储库以及EPEL (Extra Packages for Enterprise Linux),因为某些必要的依赖项可能位于这些位置: ```bash sudo dnf config-manager --set-enabled PowerTools sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm ``` 接着添加Remi&#39;s PHP RPM以访问更多更新版本的PHP: ```bash sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm ``` 激活所需的PHP流(streams): ```bash sudo dnf module reset php sudo dnf module enable php:remi-7.4 # 或者选择其他想要使用的版本号 ``` 最后实际安装PHP本身连同一些常用的扩展组件: ```bash sudo dnf install php php-fpm php-mysqlnd php-gd php-json php-opcache ``` 上述命令会一并将php-fpm服务一同部署下来,这是为了让PHP能够与Nginx良好协作所必需的服务进程管理器[^3]。 #### 配置Nginx支持PHP处理请求 编辑默认站点配置文件 `/etc/nginx/conf.d/default.conf` 或创建一个新的服务器区块定义文档,在其中指定当接收到`.php`结尾路径时应转发给FastCGI处理器解析: ```nginx server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { internal; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` 这段配置指示了Nginx如何定位到PHP-FPM监听着的Unix套接字地址,并传递相应的脚本名称参数以便正确加载和解释PHP代码[^4]。 重启两个服务使更改生效: ```bash sudo systemctl restart nginx php-fpm ``` 验证一切正常运作的一个简单方法是在网站根目录下放置一个测试性的PHP页面,比如命名为info.php的内容如下所示: ```php <?php phpinfo(); ?> ``` 打开浏览器访问该URL应该能看到关于当前PHP运行状态的信息展示页,则说明整个设置过程顺利完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值