我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

阿里云服务器ECS使用教程-手动部署LNMP环境(CentOS 8)

本教程介绍如何手动在ECS实例上搭建LNMP环境(CentOS 8),其中LNMP分别代表Linux、Nginx、MySQL和PHP。

前提条件

  • 已创建ECS实例并为实例分配公网IP地址,具体操作,请参见实例创建方式介绍。

    本文的示例步骤中,使用以下配置的ECS实例。实际操作时,建议您保持操作系统版本一致,避免因操作系统版本问题导致的命令执行报错。

    • 实例规格:ecs.c6.large

    • 操作系统:公共镜像CentOS 8.1 64位

    • 网络类型:专有网络VPC

    • IP地址:公网IP

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

    说明

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

步骤一:关闭防火墙和SELinux

重要

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

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

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

  2. 关闭防火墙。

    • 临时关闭防火墙:

      sudo systemctl stop firewalld

      说明

      临时关闭防火墙后,如果Linux实例重启,则防火墙将会自动开启。

    • 永久关闭防火墙:

      说明

      如果您想重新开启防火墙,请参见firewalld官网信息。

    • 如果防火墙的状态参数是inactive,则防火墙为关闭状态,请执行步骤3。

    • 如果防火墙的状态参数是active,则防火墙为开启状态,请执行步骤2.b。

    1. 关闭防火墙。

      sudo systemctl stop firewalld
    2. 实例开机时,禁止启动防火墙服务。

      sudo systemctl disable firewalld
    3. 运行以下命令,查看当前防火墙的状态。

      systemctl status firewalld

      查看防火墙状态

    4. 关闭防火墙。

  3. 关闭SELinux。

    • 如果SELinux状态参数是Disabled,则SELinux为关闭状态,请执行步骤二:安装Nginx。

    • 如果SELinux状态参数是Enforcing,则SELinux为开启状态,请执行步骤3.b。

    1. 运行以下命令,查看SELinux的当前状态。

      getenforce
    2. 关闭SELinux。

      SELinux关闭的方式分为临时关闭和永久关闭,请您根据自身业务需求进行选择。具体操作,请参见开启或关闭SELinux。

步骤二:安装Nginx

说明

请确保您的实例具有访问公网的能力。

  1. 切换CentOS 8源地址。

    CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包,则需要手动切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。

  2. 运行以下命令安装Nginx。

    本教程将选用Nginx 1.16.1版本。

    说明

    您可以访问Nginx官方安装包获取适用于CentOS 8系统的多版本的Nginx安装包。

    sudo dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
  3. 运行以下命令查看Nginx版本。

    nginx -v

    查看版本结果如下所示。

    [test@iZbp148k6pnnjmij4rd**** ~]$ nginx -v
    nginx version: nginx/1.16.1

步骤三:安装MySQL

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

    sudo dnf -y install @mysql
  2. 运行以下命令查看MySQL版本。

    mysql -V

    查看版本结果如下所示。

    [test@iZbp148k6pnnjmij4rd**** ~]$ mysql -V
    mysql  Ver 8.0.26 for Linux on x86_64 (Source distribution)

步骤四:安装PHP

  1. 运行以下命令,添加并更新epel源。

    sudo dnf -y install epel-release
    sudo dnf -y update epel-release
  2. 运行以下命令,删除缓存的无用软件包并更新软件源。

    sudo dnf clean all
    sudo dnf makecache
  3. 启用php:7.3模块。

    说明

    本示例使用php:7.3版本。如果您需要使用PHP 7.4版本,需要先安装remi源。remi源安装命令为dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

    sudo dnf module enable php:7.3
  4. 运行以下命令,安装PHP相应的模块。

    sudo dnf -y install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
  5. 运行以下命令查看PHP版本。

    php -v

    查看版本结果如下所示。

    PHP 7.3.20 (cli) (built: Jul  7 2020 07:53:49) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies

步骤五:配置Nginx

  1. 运行以下命令,查看并记录Nginx配置文件的默认路径。

    cat /etc/nginx/nginx.conf

    http大括号内,查看include配置项。即配置文件的默认路径。conf

  2. 在配置文件的默认路径下,备份默认配置文件。

    cd /etc/nginx/conf.d
    sudo cp default.conf default.conf.bak
  3. 修改默认配置文件。

    • TCP Socket:该方式能够通过网络,可用于跨服务器通信的场景。

    • UNIX Domain Socket:该方式不能通过网络,只能用于同一服务器中通信的场景。

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

      推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。
      				


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线