CentOS中搭建 PHP7 + Nginx 运行环境

简介: PHP + Nginx 是一个目前非常流行的PHP在Web方向上面的搭配方案,今天本文就系统讲解一下怎么来配置。基于Linux Centos系统来演示。

前言


一、PHP + Nginx介绍

PHP + Nginx 是一个目前非常流行的PHP在Web方向上面的搭配方案,今天本文就系统讲解一下怎么来配置。基于Linux Centos系统来演示。

PHP 是一种广泛使用的服务器端脚本语言,常用于开发动态网页和 Web 应用程序。与之配合使用的 web 服务器软件有很多,其中一个非常流行的选择是 Nginx。

二、安装步骤

2.1 安装和启动 Nginx

sudo yum install nginx -y   # 安装 nginx
sudo systemctl start nginx  # 启动 nginx

2.2 安装 PHP7

可以通过 yum 安装 PHP7:

sudo yum install epel-release -y
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
sudo yum-config-manager --enable remi-php70
sudo yum update -y
sudo yum install php php-fpm php-mysqlnd php-zip php-gd php-mbstring php-mcrypt php-xml php-json -y

2.3 配置 PHP-FPM

编辑 /etc/php-fpm.d/www.conf 文件,修改以下参数:

user = nginx
group = nginx
listen = /run/php-fpm/php-fpm.sock

确保以下两行代码没有被注释:

pid = /run/php-fpm/php-fpm.pid
error_log = /var/log/php-fpm/error.log

重启 php-fpm:

sudo systemctl restart php-fpm

2.4 配置 Nginx

创建一个新的配置文件 /etc/nginx/conf.d/default.conf,将以下代码复制进去:

server {
   
    listen       80;
    server_name  example.com;  # 将 example.com 替换为自己的域名或 IP 地址

    # 静态文件缓存默认过期时间
    expires 7d;

    # 静态文件缓存目录配置
    location ~* \.(?:css|js|png|gif|jpe?g|svg|woff|woff2|ttf|eot|ico)$ {
   
        access_log    off;  # 禁用日志
        add_header    Cache-Control "public, max-age=604800, immutable";  # 缓存配置
        add_header    X-Frame-Options "SAMEORIGIN";
        expires       7d;
        try_files     $uri =404;
    }

    # PHP 配置
    location ~ \.php$ {
   
        fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
        fastcgi_param  HTTP_PROXY  "";
        include        fastcgi_params;
    }

    # 静态文件代理
    location / {
   
        proxy_pass      http://127.0.0.1:8080;  # 将 8080 替换为自己的端口号
        proxy_set_header    Host $http_host;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

修改 server_name 和 fastcgi_param 参数,确保它们匹配您的域名或 IP 地址和 PHP 安装位置。

重启 Nginx:

sudo systemctl restart nginx

2.5 测试

在 /usr/share/nginx/html 目录下创建一个 PHP 文件 index.php,并将以下代码粘贴到文件中:

<?php
phpinfo();
?>

在浏览器中访问您的域名或 IP 地址,应出现 PHP 信息页面,表示已成功设置 PHP7 + Nginx 环境。

三、补充,为什么PHP用来搭配Nginx

以下是 PHP 为何要与 Nginx 搭配的几个原因:

  • 高性能:Nginx 是一个高性能的 web 服务器,以其高并发能力和低内存消耗而著名。与 Apache 相比,Nginx 可以处理更多的并发请求,并且在负载较高的情况下表现良好。这使得它成为 PHP 的一个理想选择,尤其是在处理大量访问量的网站时。

  • 轻量级:Nginx 是一个轻量级的 web 服务器,它的代码设计简洁,占用资源少,启动速度快。与相对来说较重的 Apache 相比,Nginx 能够更有效地利用服务器的硬件资源,提供更好的性能和响应时间。

  • 可扩展性:Nginx 提供了强大的扩展性和可定制性。它支持模块化的架构,可以方便地添加或删除模块,从而满足不同的需求。这样,你可以根据 PHP 应用程序的具体要求,灵活地配置 Nginx,以提供最佳的性能和功能。

  • 反向代理和负载均衡:Nginx 提供了反向代理和负载均衡的功能,可以将请求转发给 PHP-FPM(FastCGI 进程管理器),从而分摊 PHP 的负载和提高应用程序的性能。这对于处理大量并发请求以及应对突发流量非常有用。

  • 安全性:Nginx 以其强大的安全性而闻名。它具有许多内置的安全功能,如防止 DoS 攻击、DDoS 攻击和恶意 BOT 爬虫等。通过与 Nginx 搭配使用,可以增强 PHP 应用程序的安全性,并提供一定程度的保护。

    总结

    以上就是今天要讲的内容,CentOS 中搭建 PHP7 + Nginx 运行环境。喜欢记得关注哟。更多精彩,即将呈现。

相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1163 87
|
应用服务中间件 Linux nginx
让 CentOS 定时重启 Nginx
在CentOS上设置Nginx定时重启可通过`cron`或`systemctl`
881 0
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
632 20
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
1114 8
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
2482 13
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
643 2
|
Linux PHP Apache
centos7安装php8
centos7安装php8
1564 1
|
应用服务中间件 Linux nginx
CentOS 7 上配置 Nginx 作为反向代理
在CentOS 7上设置Nginx反向代理的步骤:安装Nginx;启动Nginx服务编辑`/etc/nginx/nginx.conf`;添加`proxy_pass http://app_server_address;将请求转发至应用服务器;重启Nginx`sudo systemctl restart nginx`;验证配置是否成功
1181 1
|
应用服务中间件 Linux 网络安全
CentOS 7 上安装 Nginx
在 CentOS 7 上安装 Nginx 的步骤包括:添加 EPEL 仓库,安装 Nginx,启动 Nginx,配置防火墙规则,最后通过访问服务器 IP 验证安装是否成功
923 0