Nginx是一款小巧而高效的Web服务器软件,可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本文介绍如何手动在ECS实例上搭建LNMP环境,其中LNMP分别代表Linux、Nginx、MySQL和PHP。
前提条件
- 已创建ECS实例并为实例分配公网IP地址,具体操作,请参见创建方式导航。
本文的示例步骤中,使用以下配置的ECS实例。实际操作时,建议您保持操作系统版本一致,避免因操作系统版本问题导致的命令执行报错。
- 实例规格:ecs.c6.large
- 操作系统:公共镜像CentOS 7.8 64位
- 网络类型:专有网络VPC
- IP地址:公网IP
- 已在实例安全组的入方向添加安全组规则并放行22、80、443端口。具体操作,请参见添加安全组规则。
说明 基于服务器数据安全考虑,本文仅说明部署与测试LNMP环境所必须放行的端口,您可以根据实际需求,放行其他应用所需的端口号。例如,远程连接MySQL数据库时,需要放行MySQL默认占用的3306端口。
背景信息
本文适用于熟悉Linux操作系统,刚开始使用阿里云进行建站的个人用户。
您也可以在云市场购买LNMP镜像直接创建ECS实例,以便快速建站。
本文的示例步骤中,使用的软件版本信息如下所述。当您使用不同软件版本时,需要根据实际情况自行调整命令和参数配置。
- Nginx版本:Nginx 1.20.1
- MySQL版本:MySQL 5.7.36
- PHP版本:PHP 7.0.33
点我去体验
步骤一:准备编译环境
步骤二:安装Nginx
说明 本文只提供一个版本的Nginx作为示例,如果您需要安装其他版本的Nginx,请参见常见问题。
步骤三:安装MySQL
步骤四:安装PHP
步骤五:配置Nginx
步骤六:配置MySQL
更多信息,请参见MySQL文档。
步骤七:配置PHP
步骤八:测试访问LNMP配置信息页面
后续步骤
测试访问LNMP配置信息页面后,建议您运行以下命令将phpinfo.php文件删除,消除数据泄露风险。
rm -rf <网站根目录>/phpinfo.php
其中,<网站根目录>需要替换为您在nginx.conf中配置的网站根目录。
本文配置的网站根目录为/usr/share/nginx/html,因此需要运行以下命令:
rm -rf /usr/share/nginx/html/phpinfo.php
常见问题
如何使用其他版本的Nginx服务器?
- 使用浏览器访问Nginx开源社区获取对应的Nginx版本的下载链接。
请根据您的个人需求,选择对应的Nginx版本。本章节以Nginx 1.8.1为例。
- 远程连接需要部署LNMP环境的ECS实例。
- 运行wget命令下载Nginx 1.8.1。
您可以通过Nginx开源社区直接获取对应版本的安装包URL,然后通过
wget URL
的方式将Nginx安装包下载至ECS实例。例如,Nginx 1.8.1的下载命令如下:wget http://nginx.org/download/nginx-1.8.1.tar.gz
- 运行以下命令,安装Nginx相关依赖。
yum install -y gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel
- 运行以下命令,解压Nginx 1.8.1安装包,然后进入Nginx所在的文件夹。
tar zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1
- 依次运行以下命令,编译源码。
./configure \ --user=nobody \ --group=nobody \ --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-http_realip_module \ --with-http_sub_module \ --with-http_ssl_module
make && make install
- 运行以下命令,进入Nginx的sbin目录,然后启动Nginx。
cd /usr/local/nginx/sbin/ ./nginx
- 在本地主机中,使用浏览器访问
ECS实例公网IP
。出现如下图所示的页面,表示Nginx已成功安装并启动。