如何在 Ubuntu 18.04 Bionic Beaver Linux 上安装 Nginx、MariaDB、PHP(LEMP 堆栈)如何在 Ubuntu 18.04 Bionic Beaver Linux 上安装 Nginx、MariaDB、PHP(LEMP 堆栈)如何在 Ubuntu 18.04 Bionic Beaver Linux 上安装 Nginx、MariaDB、PHP(LEMP 堆栈)如何在 Ubuntu 18.04 Bionic Beaver Linux 上安装 Nginx、MariaDB、PHP(LEMP 堆栈)
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 18.04 Bionic Beaver Linux 上安装 Nginx、MariaDB、PHP(LEMP 堆栈)

发表 admin at 2025年2月28日
类别
  • 未分类
标签

客观的

在 Ubuntu 18.04 上安装 Nginx Web 服务器 (LEMP)。特别是,这个 Linux Web 服务器安装指南向您展示了如何安装 Nginx、如何安装 MariaDB 以及如何安装 PHP。

发行版

Ubuntu 18.04 仿生海狸

要求

具有 root 权限的 Ubuntu 18.04 的有效安装

困难

中等的

惯例

  • # – 要求以root权限直接以root用户身份或使用sudo命令执行给定的linux命令

  • $ – 要求以常规非特权用户身份执行给定的 Linux 命令

介绍

如果您想在 Linux 上运行基于 PHP 的网站,Apache 并不是您唯一的选择。 Nginx 是一种速度更快、重量更轻的 Web 服务器,非常容易配置和运行。此外,它还擅长处理其他任务,例如负载平衡、服务器优化和充当反向代理。实际上,Nginx 是初创公司托管 Web 应用程序的首选。

在 Ubuntu 18.04 上设置 Nginx 来托管 PHP 非常简单,您只需要安装几个软件包即可开始。

安装

在执行任何操作之前,您应该先安装所需的所有内容。您只需要几个软件包。另外,Ubuntu 18.04 在其默认存储库中拥有所有内容的最新版本,因此您无需担心跟踪外部存储库。

$ sudo apt install mariadb-server nginx php-fpm php-mysql

在安装过程中,系统会要求您设置 MariaDB/MySQL 的管理员帐户。选择一个安全且难忘的密码。

您现在也应该花一点时间启动并启用 PHP-FPM。

注意:使用您安装的 PHP 版本更新以下命令!要检查您的 PHP 版本,请执行 php --version 命令。

$ sudo systemctl start php7.1-fpm
$ sudo systemctl enable php7.1-fpm

设置您的数据库

现在,您可以登录到新创建的数据库。

$ mysql -u root -p

输入您在安装过程中设置的密码。

您将进入 MySQL 控制台。您可以从那里做您需要做的一切。首先,创建您的实际数据库。

mysql> CREATE DATABASE `bionic_lemp`;

然后,定期使用来运行数据库。

mysql> CREATE USER `site_admin`@`localhost` IDENTIFIED BY 'your_password';

最后,授予新用户实际使用数据库的权限。

mysql> GRANT ALL ON bionic_lemp.* TO `site_admin`@`localhost`;

完成后,刷新权限并退出控制台。

mysql> FLUSH PRIVILEGES;
mysql> exit;

配置 Nginx

所有 Nginx 配置都位于 /etc/nginx 中。它们被分解以简化配置过程。您需要担心的两个是主 nginx.conf 文件和您将为网站创建的特定于站点的文件。您将其放入 sites-available 目录中。

在 /etc/nginx/sites-available 中为您的站点创建一个新文件。完整路径应类似于 /etc/nginx/sites-available/your-site。

通过创建一个 server 块来启动该文件。 Nginx 使用 server 块来指定一个新的 Web 应用程序实例以供其侦听。

server {
}

您应该放入 server 块中的第一件事是 listen 行。他们告诉 Nginx 监听哪个端口。

listen 80 default;
listen [::]:80 default;

这些将涵盖 IPv4 和 IPv6 连接。删除 default 指定这是默认服务器。您只能使用一个默认值,因此如果您托管多个网站,请务必选择正确的一个。

接下来,告诉 Nginx 将哪个域名与该站点关联。如果您只是在本地执行此操作,请使用localhost。否则,请使用您的域名。

server_name your-site.com;

如果您希望 Nginx 自动将带有 www 的请求重定向到同一服务器块。在当前服务器块的开头添加以下块。

server {
    listen       80;
    server_name  www.your-site.com;
    return       301 http://your-site.com$request_uri;
}

接下来,指定站点的根目录以及站点索引文件的名称。这些行告诉 Nginx 在 /var/www/your-site 中查找站点,并以任何名为 index.php 或 index.html.

root /var/www/your-site/;
index index.php index.html;

为每个站点设置单独的错误日志也是一个好主意。也在这里指定它们。

access_log /var/log/nginx/your-site.access_log;
error_log/var/log/nginx/your-site.error_log;

创建一个 location 块来告诉 Nginx 在找不到文件时引发 404 错误。 location 块位于服务器块内部,并告诉 Nginx 如何处理特定位置的特定文件类型。

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

您需要做的最后一件事是告诉 Nginx 如何处理您的 PHP 文件。为此创建另一个 location 块。

注意:使用您安装的 PHP 版本更新以下配置!要检查您的 PHP 版本,请执行 php --version 命令。

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

这就是您所需要的。保存并退出文件。现在创建该站点目录可能也是个好主意。

$ sudo /var/www/your-site

也给 Nginx 所有权。

$ sudo chown -R www-data:www-data /var/www/your-site

现在,删除 /etc/nginx/sites-enabled 中默认配置的符号链接。

$ sudo rm /etc/nginx/sites-enabled/default

然后,为您的站点配置创建一个新的符号链接。

$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/

重新启动 Nginx 以使更改生效。

$ sudo systemctl restart nginx

测试一下

测试一切是否正常的最佳方法是将一个简单的 PHP 脚本放入您的站点目录中,并将其连接到您的数据库。在 /var/www/your-site/index.php 创建以下文件。

<?php echo '<h1>Page loaded with PHP!</h1>';
$conn = mysqli_connect('localhost', 'site_admin', 'your_password');

if(!$conn){
	die('<h2>Error: </h2>' . mysqli_connect_error());
}else{
	echo '<h2>Successfully Connected to MySQL Database!</h2>';
}
?>

使用网络浏览器导航到您的网站。如果您看到成功消息,表明您已成功连接到 MySQL,则您的服务器已正确配置。

结束语

配置 Nginx 需要一些时间,但这是值得的。它不仅比其他网络服务器更快,而且为您提供了大量的选项和细粒度的控制。配置 Nginx 来托管用其他语言(如 Python 和 Ruby)编写的 Web 应用程序以及 PHP 语言也很容易。 Nginx 无疑是现代 Web 应用程序的最佳选择之一。

©2015-2025 Norria support@norria.com