详情页标题前

阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技

详情页1

Nginx是一款小巧而高效的Web服务器软件,可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本文介绍如何手动在ECS实例上搭建LNMP环境,其中LNMP分别代表Linux、Nginx、MySQLPHP

前提条件

  • 已创建ECS实例并为实例分配了公网IP。具体操作,请参见自定义购买实例。

    本教程中,创建的ECS实例配置说明如下。建议您与教程保持一致的操作系统版本,避免因版本问题导致的命令执行报错。

    • 实例规格:ecs.c6.large

    • 操作系统:Ubuntu 20.04

    • 网络类型:专有网络VPC

    • IP地址:公网IP

  • 已在实例所属的安全组的入方向添加安全组规则并放行22、80、443端口。具体操作,请参见添加安全组规则。

    说明

    基于服务器数据安全考虑,本教程仅说明部署与测试LNMP环境所必须放行的端口,您可以根据实际需求,放行其他应用所需的端口号。例如,远程连接MySQL数据库时,需要放行MySQL默认占用的3306端口。

背景信息

本教程适用于熟悉Linux操作系统,刚开始使用阿里云进行建站的个人用户。

本教程的示例操作中,使用的软件及软件版本信息如下:

  • Nginx:1.18.0

  • MySQL:8.0.27

  • PHP:7.4.3

步骤一:准备工作

重要

为避免因使用管理员权限不当造成不可预期的风险,建议您使用普通用户操作。如果普通用户没有sudo权限,具体操作,请参见如何为普通用户添加sudo权限。

  1. 远程连接需要部署LNMP环境的ECS实例。

    具体操作,请参见连接方式概述。

  2. 关闭系统内部防火墙。

    1. 运行以下命令,检查防火墙当前状态。

      sudo ufw status
      • 如果防火墙状态为Status: inactive,则表示防火墙为关闭状态。

      • 如果防火墙状态为Status: active,则表示防火墙为开启状态。

    2. 可选:关闭防火墙。

      如果您的防火墙为开启状态,需要运行以下命令,关闭防火墙并关闭开机自启动防火墙。

      sudo ufw disable

      说明

      如果您想重新开启防火墙并开启开机自启动防火墙,请运行sudo ufw enable命令。

步骤二:安装Nginx

  1. 运行以下命令,更新Ubuntu系统内的软件包。

    sudo apt update
  2. 运行以下命令,安装Nginx。

    sudo apt -y install nginx
  3. 运行以下命令,查看Nginx版本。

    sudo nginx -v

    返回结果如下所示,查看到Nginx的版本信息为1.18.0。同时也表示Nginx已成功安装。

    nginx version: nginx/1.18.0 (Ubuntu)

步骤三:安装并配置MySQL

  1. 安装MySQL。

    1. 运行以下命令,安装MySQL。

      sudo apt -y install mysql-server
    2. 运行以下命令,查看MySQL版本。

      sudo mysql -V

      返回结果如下所示,表示MySQL已成功安装,MySQL的版本为8.0.27。

      mysql  Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
  2. 配置MySQL。

    1. 运行以下命令,进入MySQL。

      sudo mysql
    2. 运行以下命令,设置root用户密码。

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

      本示例中密码以Mysql@1234为例,示例命令:

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Mysql@1234';
    3. 运行以下命令,退出MySQL数据库。

      exit;
    4. 运行以下命令,对MySQL进行安全性配置。

      sudo mysql_secure_installation
    5. 根据命令行提示,依次完成以下配置项。

      1. 输入root用户的密码。本示例中输入Mysql@1234

        root@iZbp19jsi7s0g7m4zgc****:~# sudo mysql_secure_installation
        
        Securing the MySQL server deployment.
        
        Enter password for user root: 

        说明

        在输入密码时,系统为了最大限度地保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。

      2. 输入Y,设置密码验证策略。

        VALIDATE PASSWORD COMPONENT can be used to test passwords
        and improve security. It checks the strength of password
        and allows the users to set only those passwords which are
        secure enough. Would you like to setup VALIDATE PASSWORD component?
        
        Press y|Y for Yes, any other key for No: Y
      3. 根据提示,选择密码验证策略。

        本示例输入0

        Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
      4. 输入Y,更改root用户密码。

        Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y
      5. 输入root用户密码。

        New password:
        
        Re-enter new password:
        
        Estimated strength of the password: 100
      6. 输入Y,确认使用已设置的密码。

        Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
      7. 输入Y删除MySQL自带的匿名用户。

        By default, a MySQL installation has an anonymous user,
        allowing anyone to log into MySQL without having to have
        a user account created for them. This is intended only for
        testing, and to make the installation go a bit smoother.
        You should remove them before moving into a production
        environment.
        
        Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
      8. 输入Y,禁止MySQL的root用户的远程登录权限。

        Normally, root should only be allowed to connect from
        'localhost'. This ensures that someone cannot guess at
        the root password from the network.
        
        Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
      9. 输入Y,移除test数据库。

        By default, MySQL comes with a database named 'test' that
        anyone can access. This is also intended only for testing,
        and should be removed before moving into a production
        environment.
        
        
        Remove test database and access to it? (Press y|Y for Yes, any other key for No) : 
      10. 输入Y,重新加载授权表。

        Reloading the privilege tables will ensure that all changes
        made so far will take effect immediately.
        
        Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

        当命令行回显All done!时,表示配置完成。

  3. 测试登录MySQL数据库。

    1. 运行以下命令,登录MySQL数据库。

      sudo mysql -uroot -p
    2. 在命令行回显的Enter password:后输入已设置的数据库密码。

      说明

      在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。

      成功登录MySQL数据库后,命令行信息如下所示。

      root@iZbp19jsi7s0g7m4zgc****:~# sudo mysql -uroot -p
      Enter password:
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 15
      Server version: 8.0.29-0ubuntu0.20.04.3 (Ubuntu)
      
      Copyright (c) 2000, 2022, Oracle and/or its affiliates.
      
      Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners.
      
      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
      
      mysql>
    3. 运行以下命令,退出MySQL数据库。

      exit;

步骤四:安装并配置PHP

  1. 安装PHP。

    1. 运行以下命令,安装PHP。

      sudo apt -y install php-fpm
    2. 运行以下命令,查看PHP版本。

      sudo php -v

      返回结果如下所示,表示PHP已成功安装,可查看到PHP版本为7.4.3。

      PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
      Copyright (c) The PHP Group
      Zend Engine v3.4.0, Copyright (c) Zend Technologies
          with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
  2. 修改Nginx配置文件以支持PHP。

    1. 运行以下命令,打开Nginx默认的配置文件。

      sudo vim /etc/nginx/sites-enabled/default
    2. i进入编辑模式,修改Nginx配置文件。

      1. server{}内,找到index开头的配置行,在该行中添加index.php阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技

      2. server{}内找到location ~ \.php$ {},去除以下配置行的注释符号。

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

        阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技

    3. Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。

    4. 运行以下命令,重启Nginx服务。

      sudo systemctl restart nginx.service
  3. 配置PHP。

    1. 运行以下命令,在Nginx网站根目录中,新建phpinfo.php文件。

      sudo vim /phpinfo.php

      为变量,可通过Nginx配置文件查看。本教程中Nginx配置文件为默认文件/etc/nginx/sites-enabled/default,您可以运行cat /etc/nginx/sites-enabled/default命令查看文件内容,其中如下图所示的/var/www/html部分即为网站根目录。阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技因此,对应的运行命令为:

      sudo vim /var/www/html/phpinfo.php
    2. i进入编辑模式,添加以下配置信息。

      phpinfo()函数会展示PHP的所有配置信息。

    3. Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。

    4. 运行以下命令,启动PHP。

      sudo systemctl start php7.4-fpm

步骤八:测试访问PHP配置信息页面

  1. 在本地Windows主机或其他具有公网访问能力的Windows主机中,打开浏览器。

  2. 在浏览器的地址栏输入http:///phpinfo.php进行访问。

    访问结果如下图所示,成功查看到PHP配置信息页面,表示LNMP环境部署成功。阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技

后续步骤

成功搭建LNMP环境后,建议您删除phpinfo.php测试文件,消除数据泄露风险。

sudo rm -rf /phpinfo.php

本教程中网站根目录为/var/www/html,则需要运行以下命令删除测试文件。

sudo rm -rf /var/www/html/phpinfo.php

腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/151957.html

(0)
上一篇 2023年12月9日 下午4:50
下一篇 2023年12月9日 下午4:50
详情页2

相关推荐

  • 腾讯云容器服务关联集群同尘科技

    操作场景 本文档介绍如何在 Prometheus 监控服务中关联集群与监控实例,关联成功后即可编辑数据采集规则等配置。当前支持跨 VPC 关联,支持在同一个监控实例内监控不同地域不同 VPC 下的集群。 前提条件 已登录 容器服务控制台,并创建集群。已创建 监控实例。 操作步骤 关联集群 注意关联集群成功后将在集群中安装监控数据采集插件,该插件在解除关联的同…

    2023年12月9日
  • 腾讯云TDSQL-C MySQL版变配说明

    本文分别从计算节点和存储空间两部分为您介绍按量计费集群和包年包月集群变更配置的费用说明。说明TDSQL-C MySQL 版采用存储与计算分离的架构,可独立进行配置变更,无需组合变更,提高了配置变更的灵活性。集群下的实例升配时,存储空间具有上限,存储空间不能超过计算节点对应的最大存储上限,如需更大的存储空间,您可先升级当前计算节点规格,详细计算节点规格与存储空…

    腾讯云 2023年12月9日
  • 腾讯云云点播图片审核

    操作场景 图片审核是同步操作,在云点播控制台媒资管理页面发起,将立即得到审核结果。 操作步骤 发起图片审核并查看结果 1. 登录 云点播控制台,单击左侧导航栏应用管理,进入应用列表页。2. 找到需要管理任务的应用,点击应用名称进入应用管理页。3. 点击左侧导航栏媒资管理 > 图片管理,“已上传”页面。按照下图指引选择图片发起图片审核:  n页…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储存储桶管理与操作

    说明此处功能介绍以移动端 iOS 2.7.6 版本为例,其他版本差异,请参见 更新日志。 查看存储桶列表 COSBrowser 移动端以地域的维度展示存储桶列表,您可通过地域的分类查看存储桶。点击界面中的资源图标即可查看已创建的存储桶。 添加访问路径 若您使用无访问存储桶列表权限的子账号进行登录,可以通过点击存储桶列表页右上角的添加访问路径,添加指定的路径进…

    腾讯云 2023年12月9日
  • 腾讯云Serverless应用中心云原生数据库 TDSQL-C 组件-同尘科技

    操作场景 该教程指导您通过 Serverless Cloud Framework 组件,快速创建一个 TDSQL-C Serverless 数据库实例。 操作步骤 1. 安装 Serverless Cloud Framework 使用 npm 安装 Serverless Cloud Framework,详情请参见 安装 Serverless Cloud Fr…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。