介绍
在本快速启动指南中,我们将在 Ubuntu 20.04 服务器上安装 LEMP 堆栈。
对于本教程的更详细版本,以及每个步骤的更多解释,请参阅 如何在Ubuntu 20.0上安装Linux,Nginx,MySQL,PHP(LEMP堆栈)
前提条件
要遵循本指南,您需要作为sudo
用户访问 Ubuntu 20.04 服务器。
步骤1:安装 Nginx
更新您的包管理器缓存,然后安装 Nginx:
1sudo apt update
2sudo apt install nginx
安装完成后,您需要调整防火墙设置,以便在您的服务器上允许 HTTP 流量。
1sudo ufw allow in "Nginx"
随着新增的防火墙规则,您可以通过从您的 Web 浏览器访问服务器的公共 IP 地址或域名来测试服务器是否正在运行。
第2步:安装MySQL
我们现在将安装MySQL,这是一个流行的PHP环境中使用的数据库管理系统。
再次,使用apt
来获取和安装此软件:
1sudo apt install mysql-server
当安装完成后,建议您运行一个安全脚本,该脚本是预先安装的MySQL。
1sudo mysql_secure_installation
这将询问您是否要配置验证密码插件
。回答Y
为是
,或其他任何事情,以继续而不启用。
接下来,您的服务器将要求您选择并确认MySQL root**用户的密码,尽管MySQL root用户的默认身份验证方法不允许使用密码,即使设置了密码,您也应该在这里定义一个强大的密码作为额外的安全措施。
对于其他问题,按Y
并在每个提示键中按ENTER
键。
<$>[note]
注: 在本文写作时,原始MySQL PHP库 mysqlnd
不支持 caching_sha2_authentication
,是MySQL 8的默认身份验证方法。因此,在创建MySQL 8上的PHP应用程序的数据库用户时,您需要确保它们配置为使用‘mysql_native_password’而不是。请参阅我们在Ubuntu 20.04上的详细LEMP的第6步(https://andsky.com/tech/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-20-04# step-6-%E2%80%94-testing-database-connection-from-php-(optional)指南,了解如何做到这一点。
步骤三:安装PHP
要安装php-fpm
和php-mysql
包,请运行:
1sudo apt install php-fpm php-mysql
步骤 4 — 配置 Nginx for PHP
在本指南中,我们将设置一个名为 your_domain 的域名,但您应该 ** 用自己的域名代替它。
在Ubuntu 20.04上,Nginx默认允许一个服务器块,并配置为在/var/www/html
的目录中服务文档。虽然这对单个网站来说很好,但如果您托管多个网站,则很难管理。
创建 your_domain 的根网页目录如下:
1sudo mkdir /var/www/your_domain
接下来,与 $ USER 环境变量分配目录的所有权,该变量将参考您的当前系统用户:
1sudo chown -R $USER:$USER /var/www/your_domain
然后,在 Nginx 的可用网站
目录中使用您偏好的命令行编辑器打开一个新的配置文件。
1sudo nano /etc/nginx/sites-available/your_domain
这将创建一个新的空格文件. 粘贴到以下裸骨配置:
1[label /etc/nginx/sites-available/your_domain]
2server {
3 listen 80;
4 server_name your_domain www.your_domain;
5 root /var/www/your_domain;
6
7 index index.html index.htm index.php;
8
9 location / {
10 try_files $uri $uri/ =404;
11 }
12
13 location ~ \.php$ {
14 include snippets/fastcgi-php.conf;
15 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
16 }
17
18 location ~ /\.ht {
19 deny all;
20 }
21
22}
完成编辑后,保存并关闭文件. 如果您使用nano
,您可以通过键入CTRL+X
,然后y
和ENTER
来确认。
通过从 Nginx 的网站启用
目录链接到配置文件来激活您的配置:
1sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
这将告诉 Nginx下次重新加载时使用配置,您可以通过键入测试您的配置语法错误:
1sudo nginx -t
如果报告了任何错误,请返回配置文件,查看其内容,然后继续。
当您准备好时,重新加载 Nginx 以应用更改:
1sudo systemctl reload nginx
您的新网站现在正在运行,但网页根 /var/www/your_domain
仍然是空的. 在该位置创建一个 index.html
文件,以便我们可以测试您的新服务器块是否按预期工作:
1nano /var/www/your_domain/index.html
在此文件中包含以下内容:
1[label /var/www/your_domain/index.html]
2<html>
3 <head>
4 <title>your_domain website</title>
5 </head>
6 <body>
7 <h1>Hello World!</h1>
8
9 <p>This is the landing page of <strong>your_domain</strong>.</p>
10 </body>
11</html>
现在,进入您的浏览器并访问您的服务器的域名或IP地址,如您的服务器封锁配置文件中的server_name
指令中列出的:
1http://server_domain_or_IP
你会看到这样的页面:
步骤 5 – 使用 Nginx 测试 PHP
现在我们将创建一个 PHP 测试脚本,以确认 Nginx 能够处理和处理 PHP 文件的请求。
创建一个名为info.php
的新文件,在您的自定义 Web 根文件夹中:
1nano /var/www/your_domain/info.php
这将打开一个空的文件. 将下列内容添加到文件中:
1[label /var/www/your_domain/info.php]
2<?php
3phpinfo();
完成后,保存并关闭文件。
您现在可以在您的 Web 浏览器中访问此页面,访问您在 Nginx 配置文件中设置的域名或公共 IP 地址,然后是 /info.php
:
1http://server_domain_or_IP/info.php
您将看到一个包含有关您的服务器的详细信息的网页:
在通过该页面检查有关您的PHP服务器的相关信息后,最好删除您创建的文件,因为它包含有关您的PHP环境和Ubuntu服务器的敏感信息。
1sudo rm /var/www/your_domain/info.php
相关教程
以下是有关本教程的更多详细指南的链接: