在Ubuntu 20.04上安装和设置LEMP Stack

欢迎来到我们的教程,了解如何在Ubuntu 20.04上安装和设置LEMP堆栈。 LEMP堆栈 是一组通常用于开发和部署Web应用程序的开源工具。它由Linux操作系统(在本例中为Ubuntu 20.04),轻巧且功能强大的Nginx(Engine-X)Web服务器,MySQL / MariaDB RDBMS和服务器端脚本语言PHP组成。

在Ubuntu 20.04上安装和设置LEMP Stack

运行系统更新

apt update
apt upgrade

在Ubuntu 20.04上安装Nginx Web Server

Nginx在默认的Ubuntu 20.04仓库中可用。只需执行以下命令即可安装。

apt install nginx

运行Apache

安装完成后,将启动Nginx并将其启用以在系统启动时运行。

检查状态;

systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-07-14 05:35:51 UTC; 17s ago
       Docs: man:nginx(8)
   Main PID: 64530 (nginx)
      Tasks: 3 (limit: 2282)
     Memory: 6.4M
     CGroup: /system.slice/nginx.service
             ├─64530 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─64531 nginx: worker process
             └─64532 nginx: worker process

Jul 14 05:35:51 ubuntu20 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 14 05:35:51 ubuntu20 systemd[1]: Started A high performance web server and a reverse proxy server.

检查是否已启用它以在系统引导上运行。

systemctl is-enabled nginx
enabled

允许防火墙上的Web服务器外部访问

您可以使用端口或Nginx应用程序名称允许外部访问Nginx。例如,允许访问Nginx HTTP和HTTPs流量;

ufw allow 80,443/tcp

同样,您可以使用Nginx应用, Nginx完整,同时允许HTTP和HTTP;

ufw allow "Nginx Full"

对于HTTP或HTPPS,简单易用 Nginx HTTP 要么 Nginx HTTPS 分别作为应用名称。

使用地址验证从浏览器对Nginx的访问, http://Server.IP_or_hostname。您应该进入Nginx HTTP服务器测试页面,该页面基本上表明nginx Web服务器已成功安装并运行。

在Ubuntu 20.04上安装MySQL / MariaDB数据库服务器

您可以选择将MySQL或MariaDB用于RDMS。在本教程中,我们使用MariaDB 10.5作为我们的数据库系统。

在Ubuntu 20.04上安装MariaDB 10.5

导入MariaDB GPG签名密钥

apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

安装MariaDB APT存储库

add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'

在Ubuntu 20.04上安装MariaDB 10.5

apt update
apt install mariadb-server mariadb-client

安装后,MariaDB将启动并启用以在系统启动时运行。

systemctl status mariadb
● mariadb.service - MariaDB 10.5.4 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Wed 2020-07-15 05:20:26 UTC; 6min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 3207 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 2282)
     Memory: 68.9M
     CGroup: /system.slice/mariadb.service
             └─3207 /usr/sbin/mariadbd

Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: Processing databases
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: information_schema
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: mysql
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: performance_schema
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: Phase 6/7: Checking and upgrading tables
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: Processing databases
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: information_schema
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: performance_schema
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Jul 15 05:23:06 ubuntu20 /etc/mysql/debian-start[3229]: OK

保护MariaDB

MariaDB随附了一些初始安全脚本,称为 mysql_secure_installation。运行时,此脚本将删除所有测试数据库,禁用远程根帐户登录,并删除测试用户帐户,作为初始安全检查的一部分。

mysql_secure_installation

现在,您可以根据要运行的任何应用程序的需要登录并创建数据库和数据库用户。

在Ubuntu 20.04上安装PHP 7.4和其他必需的PHP模块

接下来,在Ubuntu 20.04上安装PHP 7.4。默认情况下,Ubuntu 20.04在其默认存储库中随附PHP 7.4。因此,安装PHP 7.4就像运行下面的命令一样简单。

apt install php php-fpm php-mysql

这将与其他默认PHP模块一起安装。

安装其他必需的PHP模块

如果需要安装任何其他必需的模块,只需运行以下命令即可安装它, apt install php-extension,在哪里 延期 是PHP模块的名称。例如;

apt install php-{bcmath,bz2,imap,intl,mbstring,soap,sybase,xml,zip}

配置Nginx进行PHP处理

为了使Nginx处理PHP页面,您需要包括 index.php 作为价值 指数 参数。由于我们使用默认配置进行测试,因此请按照以下说明进行编辑;

vim /etc/nginx/sites-enabled/default
...
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;
...

另外,您需要配置Nginx以将PHP脚本传递给FastCGI服务器。取消注释行 location ~ .php$ 并如下配置

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

保存并退出文件,

测试Nginx配置语法。

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果没有配置语法,请重新启动Nginx和FastCGI进程管理器。

systemctl restart nginx php7.4-fpm

在Ubuntu 20.04上测试Nginx PHP处理

您可以测试Nginx PHP的处理过程以确认其是否按要求工作,以及使用简单的PHP信息脚本检查版本和已安装的模块。

echo "" > /var/www/html/index.php

接下来,导航至浏览器并输入地址, http:///index.php

在Ubuntu 20.04上安装和设置LEMP Stack

然后你去。您的LEMP堆栈已在Ubuntu 20.04上安装和设置。确保满足要部署的特定应用程序的所有必需php模块。

验证Nginx PHP处理之后,删除PHP信息文件。

rm -rf /var/www/html/index.php

这标志着我们关于如何在Ubuntu 20.04上安装和设置LEMP Stack的指南的结尾。

Sidebar