HCRM博客

如何在CentOS上安装Nginx和PHP?

在CentOS系统上安装Nginx和PHP是一个常见的任务,特别是在搭建Web服务器时,以下是一个详细的步骤指南,包括安装、配置和测试的全过程。

一、更新系统

确保你的CentOS系统是最新的,打开终端并运行以下命令:

如何在CentOS上安装Nginx和PHP?-图1
(图片来源网络,侵权删除)
sudo yum update y

二、安装Nginx

1. 安装EPEL仓库(如果Nginx不在默认仓库中)

sudo yum install epelrelease y

2. 安装Nginx

sudo yum install nginx y

3. 启动Nginx并设置开机自启

sudo systemctl start nginx
sudo systemctl enable nginx

4. 检查Nginx服务状态

sudo systemctl status nginx

5. 配置防火墙(如果启用了防火墙)

对于firewalld:

如何在CentOS上安装Nginx和PHP?-图2
(图片来源网络,侵权删除)
sudo firewallcmd addservice=http permanent
sudo firewallcmd reload

对于iptables,请根据实际情况配置规则以允许TCP 80端口。

三、安装PHP和PHPFPM

1. 安装EPELRemi仓库

sudo yum install epelrelease y
sudo yum install http://rpms.remirepo.net/enterprise/remirelease7.rpm y

2. 安装PHP及其扩展

sudo yum install php phpfpm phpmysqlnd phpzip phpgd phpmbstring phpmcrypt phpxml phpjson y

3. 启动PHPFPM并设置开机自启

sudo systemctl start phpfpm
sudo systemctl enable phpfpm

4. 修改PHPFPM配置文件

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

如何在CentOS上安装Nginx和PHP?-图3
(图片来源网络,侵权删除)
user = nginx
group = nginx
listen = /run/phpfpm/phpfpm.sock

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

pid = /run/phpfpm/phpfpm.pid
error_log = /var/log/phpfpm/error.log

5. 重启PHPFPM

sudo systemctl restart phpfpm

四、配置Nginx解析PHP

1. 创建一个新的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    CacheControl "public, maxage=604800, immutable";  # 缓存配置
        add_header    XFrameOptions "SAMEORIGIN";
        expires       7d;
        try_files     $uri =404;
    }
    # PHP 配置
    location ~ \.php$ {
        fastcgi_pass unix:/run/phpfpm/phpfpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    # 静态文件代理
    location / {
        proxy_pass http://127.0.0.1:8080;  # 将8080替换为你的实际端口号
        proxy_set_header Host $http_host;
        proxy_set_header XRealIP $remote_addr;
        proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;
    }
}

2. 重启Nginx

sudo systemctl restart nginx

五、测试配置

/usr/share/nginx/html目录下创建一个PHP文件info.php,并将以下内容复制进去:

<?php
phpinfo();
?>

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

六、相关FAQs问答

Q1:如何更改Nginx服务器的监听端口?

A1: 要更改Nginx服务器的监听端口,可以编辑Nginx配置文件(通常是/etc/nginx/nginx.conf),找到listen指令并将其值更改为所需的端口号,要将监听端口更改为8080,可以将listen 80;改为listen 8080;,然后保存文件并重启Nginx服务:

sudo systemctl restart nginx

还需要确保防火墙允许新的端口号通过。

Q2:如何在Nginx中配置SSL证书?

A2: 要在Nginx中配置SSL证书,你需要执行以下步骤:

1、确保你拥有有效的SSL证书和私钥文件,这些文件由证书颁发机构(CA)提供。

2、将SSL证书和私钥文件上传到服务器的一个安全位置,例如/etc/nginx/ssl/目录。

3、编辑Nginx配置文件(例如/etc/nginx/nginx.conf或特定站点的配置文件),在相应的server块中添加SSL配置。

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/ssl/your_domain.crt;
    ssl_certificate_key /etc/nginx/ssl/your_domain.key;
    # 其他配置...
}

your_domain.crtyour_domain.key替换为你的SSL证书和私钥文件的实际路径,如果你的证书是由CA签名的,并且你有中间证书,你还需要指定ssl_trusted_certificate指令来包含中间证书。

ssl_trusted_certificate /etc/nginx/ssl/intermediate.crt;

4、保存配置文件并重启Nginx服务以应用更改:

sudo systemctl restart nginx

你的Nginx服务器应该可以通过HTTPS(使用SSL/TLS)进行访问了,确保在浏览器中访问你的网站时使用https://前缀。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18758.html

分享:
扫描分享到社交APP
上一篇
下一篇