You need to enable JavaScript to run this app.
导航

搭建LNMP环境(Ubuntu 18.04)

最近更新时间2023.12.07 14:06:20

首次发布时间2022.09.08 18:43:45

LNMP 环境是指在Linux系统中,搭建由Linux、Nginx、MySQL/MariaDB、PHP组成的Web应用平台。本文介绍如何在Ubuntu 18.04实例上部署LNMP环境。

软件版本

  • 操作系统:本文以Ubuntu 18.04为例。
  • Nginx:高性能的HTTP和反向代理的轻量级Web服务器,本文以Nginx 1.14.0为例。
  • MySQL/MariaDB:数据库管理系统,本文以MariaDB 15.1为例。
  • PHP:在服务器端执行的嵌入HTML文档的脚本语言,本文以PHP 7.2.24为例。

前提条件

  • 您已购买Linux实例。具体操作请参见购买云服务器
  • 您已为Linux实例绑定公网IP,使其具备访问公网的能力。如未绑定,请参见绑定公网IP

步骤一:安装并配置Nginx

  1. 远程连接云服务器并登录,具体操作请参考登录Linux实例小节。

  2. 执行以下命令,更新安装包仓库。
    apt update && apt upgrade -y

  3. 执行以下命令,安装Nginx。
    apt install -y nginx

  4. 执行以下命令,查看Nginx版本。
    nginx -v
    回显如下,表示安装成功。
    nginx version: nginx/1.14.0 (Ubuntu)

  5. 执行以下命令,设置Nginx服务开机自启动。
    systemctl enable nginx

  6. 在本地浏览器中输入http://<ECS实例公网IP地址>/访问Nginx。
    回显如下,表示Nginx搭建成功。
    image

步骤二:安装并配置MariaDB

  1. 执行以下命令,安装MariaDB。
    apt install -y mariadb-server mariadb-client
  2. 执行以下命令,查看MariaDB版本。
    mysql -V
    回显如下,表示安装成功。
    mysql Ver 15.1 Distrib 10.1.48-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
  3. 执行以下命令,设置MariaDB服务开机自启动。
    systemctl enable mariadb
  4. 执行以下命令,查看MariaDB服务是否已启动。
    systemctl status mariadb
    回显中Active: active (running)表示已启动。
  5. 执行以下命令,执行MariaDB安全性操作并设置密码。
    mysql_secure_installation
    1. 按回车键确认设置密码。

    2. 输入y并按回车键,确认修改数据库的root密码。

    3. 设置MariaDB密码并按回车键,默认不显示输入密码。

    4. 再次输入新密码并按回车键,确认设置该密码。

      说明

      请输入符合密码验证策略强度的密码。

    5. 输入y并按回车键,移除匿名用户。

    6. 输入y并按回车键,禁止root账号远程登录。

    7. 输入y并按回车键,删除test库及对test库的访问权限。

    8. 输入y并按回车键,重新加载授权表。

步骤三:安装并配置PHP

  1. 执行以下命令,安装PHP。
    apt install -y php php-fpm php-mysql

  2. 执行以下命令,查看PHP版本。
    php -v
    回显如下,表示安装成功。

    PHP 7.2.24-0ubuntu0.18.04.13 (cli) (built: Jul  6 2022 12:23:22) ( NTS )
    Copyright	(c)	1997-2018	The	PHP	Group
    Zend	Engine	v3.2.0,	Copyright	(c)	1998-2018	Zend	Technologies
    				with	Zend	OPcache	v7.2.24-0ubuntu0.18.04.13,	Copyright	(c)	1999-2018,	by	Zend	Technologies
    

PHP默认开机自启动,您无需进行额外配置。

  1. 执行以下命令,查看Nginx配置文件的路径。
    cat /etc/nginx/nginx.conf
    回显如下,include配置项即为文件的路径。
    alt

  2. 执行以下命令,在配置文件目录下备份配置文件。

    说明

    请注意,不要将配置文件备份在/etc/nginx/sites-enabled/目录下,Nginx会加载/sites-enabled目录中任何名称的配置文件,导致冲突。

    cd /etc/nginx/sites-enabled/ 
    cp default /tmp/default.conf
    
  3. 执行以下命令,修改原配置文件。
    vim default

  4. 按“i”键进入编辑模式,在index中修改以下内容。

    root /var/www/html;#将该路径为Nginx默认的网站根目录,您可以按需更换。
    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html; #添加默认首页信息index.php。 
    }
    
  5. 去掉被注释的location ~ \.php$ 大括号以下行前面的# ,并修改以下内容。

    location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;#修改php版本为已安装的php版本,本例为7.2
    		}
    
  6. 按“Esc”,输入“:wq”,按Enter键,保存文件并返回。

  7. 执行以下命令,重启Nginx服务。
    systemctl restart nginx

步骤四:访问LNMP

  1. 执行以下命令,创建测试文件。
    vim <网站根目录>/phpinfo.php #将<网站根目录>替换为您在Nginx配置文件default.conf文件中配置的网站根目录。
    本例请执行命令:vim /var/www/html/phpinfo.php
  2. 按“i”键进入编辑模式,输入以下内容。
    <?php echo phpinfo(); ?> #phpinfo()会展示PHP的所有配置信息
  3. 按“Esc”,输入“:wq”,按Enter键,保存文件并返回。
  4. 在本地浏览器中输入http://<ECS实例公网IP地址>/phpinfo.php访问LNMP。
    回显如下,表示LAMP搭建成功。
    alt