Ubuntu 24.04 配置 nginx + php-fpm

nginx 是一个流行的 web 服务器,以其速度和可靠性而闻名,被许多顶级网站使用。要用 PHP 运行网站,您需要设置 php-fpm,nginx 与 php-fpm 一起处理 PHP 文件并将其显示给用户,帮助网站更快地加载并处理更多流量。

本教程将帮助您在 ubuntu 24.04 系统上安装和配置 NGINX 和 PHP-FPM,创建虚拟主机并使用 Let ' s Encrypt SSL 启用 HTTPS 来保护您的网站。

Step 1: Update Your System

首先,我们需要确保你的系统是最新的。

复制代码
sudo apt update
sudo apt upgrade -y

Step 2: Install NGINX Server

现在,让我们安装 NGINX web 服务器,遵循以下步骤:

(1) 安装 nginx

复制代码
sudo apt install nginx

(2) 启动 nginx 服务

复制代码
sudo systemctl start nginx

(3) 设置 nginx 开机启动

复制代码
sudo systemctl enable nginx

(4) 检查 nginx 服务状态

复制代码
sudo systemctl status nginx

Step 3: Install PHP-FPM

按照以下步骤安装 PHP-FPM

(1) 安装 php-fpm

复制代码
sudo apt install php-fpm

(2) 启动 php-fpm 服务

复制代码
sudo systemctl start php-fpm

(3) 设置 php-fpm 开机启动

复制代码
sudo systemctl enable php-fpm

(4) 检查 php-fpm 服务状态

复制代码
sudo systemctl status php-fpm

Step 4: Configure NGINX to Use PHP-FPM

让我们为您的网站创建一个新的主机文件并将其配置为使用 PHP-FPM

(1) 切换到 NGINX sites-available 目录

复制代码
cd /etc/nginx/sites-available/

(2) 为网站创建一个新的配置文件,将"example.com"替换为您的实际域名。

复制代码
sudo nano /etc/nginx/sites-available/example.com

(3) 将以下配置添加到文件中,确保将"example.com"替换为您的实际域名。

nginx 复制代码
server {
  listen 80;
  server_name example.com www.example.com;

  root /var/www/html/example.com;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~ /\.ht {
    deny all;
  }
}

保存并退出配置文件

为您的网站创建文档根目录

复制代码
sudo mkdir -p /var/www/html/example.com

将目录的所有权分配给当前用户

复制代码
sudo chown -R $USER:$USER /var/www/html/example.com

设置目录权限

复制代码
sudo chmod -R 755 /var/www/html/example.com

创建一个简单的 PHP 文件来测试您的配置

复制代码
nano /var/www/html/example.com/index.php

将以下行添加到 index.php 文件中,保存并退出。

php 复制代码
<?php phpinfo(); ?>

把网站 example.com 的配置文件软连接到 sites-enabled 目录

复制代码
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试 NGINX 配置是否有语法错误

复制代码
sudo nginx -t

如果测试成功,重新加载 NGINX 以应用更改

复制代码
sudo systemctl reload nginx

打开您的 Web 浏览器,然后访问 http//example.com 您应该可以看到" PHP Info"页面,这意味着您的 NGINX 服务器已正确配置为使用 PHP-FPM。

Step 5: Secure Your Website with Let's Encrypt SSL

要使用 HTTPS 保护您的网站,您可以使用 Let ' s Encrypt SSL,请遵循以下步骤:

(1) 安装 Certbot

复制代码
sudo apt install certbot python3-certbot-nginx

(2) 运行 Certbot 获取并安装 SSL 证书,按照提示完成安装。

复制代码
sudo certbot --nginx

(3) 通过运行演练来验证 Certbot 自动更新

复制代码
sudo certbot renew --dry-run

我的开源项目

相关推荐
8125035335 小时前
第 9 篇:子网掩码:如何划分“小区”
开发语言·php
我叫黑大帅6 小时前
通过php 中的Route:: 的写法了解什么是静态类调用
后端·面试·php
小黑蛋学java7 小时前
Nginx 接口耗时 Prometheus + Grafana 监控实施方案
运维·nginx·负载均衡·grafana·prometheus
IVEN_8 小时前
记一次诡异的前端白屏故障:Nginx Proxy Cache 内存缓存"幽灵"事件
前端·nginx
曾小蛙11 小时前
【TWIST2】 PICO重映射G1在ubuntu 22.04下环境配置
ubuntu·g1·twist2·gmr2·pico4u·xrobotoolkit
starvapour11 小时前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab
__Witheart__12 小时前
rk3568 交叉编译链
ubuntu·rockchip
Adorable老犀牛13 小时前
nginx_exporter:Prometheus 监控 Nginx 基础指标
运维·nginx·prometheus
程序猿小三13 小时前
福建省第一届“闽盾杯“网络安全职业技能竞赛 — 备赛学习路线
开发语言·网络安全·php
南檐巷上学13 小时前
基于地平线RDK X5的智能医药机器人系统
ubuntu·机器人·ros·机械臂·openclaw