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

我的开源项目

相关推荐
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
zorro_z1 小时前
ThinkPHP8学习篇(十六):错误调试与辅助组件
php
小天源1 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
全栈工程师修炼指南2 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
独自归家的兔3 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
ONE_SIX_MIX3 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
ThatITs4 小时前
【无标题】
php
Java后端的Ai之路5 小时前
【Python 教程14】- 网络编程
网络·python·php
暴走十八步5 小时前
PHP+vscode开启调试debug
开发语言·vscode·php
catchadmin5 小时前
Laravel AI SDK 正式发布
人工智能·php·laravel