如何在 Ubuntu 16.04 上安装 LEMP

在本教程中,我们将向您展示如何在您的 Ubuntu 16.04 服务器上安装和配置 LEMP。 对于那些不知道的人,LEMP 软件堆栈是一组开源软件,通常安装在一起以使服务器能够托管动态网站和 Web 应用程序。 这个术语实际上是代表 Linux 操作系统的首字母缩略词,用 Nginx 网络服务器(它取代了 Apache LAMP 堆栈的组件)。 站点数据存储在 MySQL 数据库中(使用 MariaDB),动态内容由 PHP 处理。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单。 我将向您展示在 Ubuntu 16.04 服务器上逐步安装 LEMP 堆栈(Linux、Nginx、MariaDB 和 PHP)。

在 Ubuntu 16.04 上安装 LEMP

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt-get 终端中的命令。

apt-get update apt-get upgrade

注意:如果您的系统中安装了另一个 Web 服务器(如 Apache2),请先将其删除以避免冲突。 卸载 Apache,运行以下命令:

sudo service apache2 stop sudo apt-get remove --purge apache2 apache2-utils apache2.2-bin apache2-common -y sudo apt-get autoremove -y sudo apt-get autoclean -y

步骤 2. 在 Ubuntu 16.04 上安装 Nginx。

使用 apt-get 安装 Nginx,这是 Ubuntu 的默认包管理器:

sudo apt-get install nginx

使用以下命令启动 Nginx 服务:

sudo systemctl start nginx

您可以通过打开您喜欢的 Web 浏览器并输入 URL https://your-server’s-address 来验证 Nginx 是否真的在运行,如果已安装,那么您将看到以下内容:

步骤 3. 配置 Nginx Web 服务器。

为了让 Nginx 正确地与 PHP 一起工作,我们需要对 Nginx 配置文件进行更改。 在本指南中,我们将使用一个简单的 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/default

将以下内容复制到您的文本编辑器中:

    server {             listen       80;             server_name  your_domain_name.com;             root /usr/share/nginx/html;             index index.php index.html;             location / {                     try_files $uri $uri/ =404;             }             error_page 404 /404.html;             error_page 500 502 503 504 /50x.html;             location = /50x.html {                     root /var/www/html;             }             location ~ .php$ {                     try_files $uri =404;                     fastcgi_pass unix:/var/run/php5-fpm.sock;                     fastcgi_index index.php;                     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                     include fastcgi_params;             }     }

完成文件编辑后,使用以下命令重新启动 Nginx:

sudo nginx -t sudo systemctl restart nginx

步骤 4. 在 Ubuntu 16.04 上安装 MySQL。

要在 Ubuntu 16.04 中安装 MySQL,请运行以下命令:

sudo apt-get install mysql-server php5-mysql

完成后,您可以通过运行以下命令来验证 MySQL 是否已安装:

systemctl status mysql

默认情况下,MySQL 未加固。 您可以使用 mysql_secure_installation 脚本。 您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MySQL:

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y

要登录 MySQL,请使用以下命令(请注意,它与登录 MySQL 数据库的命令相同):

mysql -u root -p

步骤 5. 在 Ubuntu 16.04 上安装和配置 PHP。

使用以下命令在 Ubuntu 16.04 上安装 PHP 以开始安装:

sudo apt-get install php php-fpm php7.0-mysql

安装完成后,编辑服务器 php.ini 文件并更改 cgi.fix_pathinfo 参数值设置为 0。默认情况下,它将用分号注释掉,并将值设置为 1,这实际上确保 PHP 将在找不到请求的 PHP 文件时尝试执行最近的可用文件。 这是一种不好的安全做法,所以让我们改变它。 执行以下命令:

nano /etc/php/7.0/fpm/php.ini

现在找到 cgi.fix_pathinfo 行,取消注释并将值设置为 0. Save 和 close 文件。

在安装 MySQL 和 PHP 之后,您的服务器应该会自动重启 Nginx。 如果没有,请执行以下命令:

sudo systemctl restart nginx

要测试 PHP,请创建一个名为 info.php 的测试文件,其内容如下。 Save 该文件,然后浏览到它以查看 PHP 是否正常工作:

nano /usr/share/nginx/html/info.php

将以下内容复制到您的文本编辑器中:

<?php phpinfo(); ?>

尝试访问它 https://your_server_ip/info.php. 如果 PHP 信息页面在您的浏览器中呈现,那么一切看起来都很好,您可以继续下一步了。

在 Ubuntu 16.04 上安装 LEMP

恭喜! 您已成功安装 LEMP 堆栈。 感谢您使用本教程安装 LAMP (Linux, Nginx, MySQL, 和 PHP) 在 Ubuntu 16.04 系统中。 如需更多帮助或有用信息,我们建议您查看官方 Nginx、MySQL 和 PHP 网站。