快速搭建LNMP环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Nginx是一款小巧而高效的Web服务器软件,可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本教程介绍如何搭建LNMP环境,其中LNMP分别代表Linux、Nginx、MySQL和PHP。

体验简介

本场景将提供一台配置了CentOS 7.7的ECS实例(云服务器)。通过本教程的操作,您可以基于ECS实例快速搭建一套LNMP环境。

背景知识

云服务器ECS

云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

Nginx

Nginx是一款轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

步骤一:安装并配置MySQL

1.执行如下命令,下载并安装MySQL官方的Yum Repository。

wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

2.执行如下命令,启动 MySQL 数据库。

systemctl start mysqld.service

3.执行如下命令,查看MySQL运行状态。

systemctl status mysqld.service

4.执行以下命令,查看MySQL初始密码。

grep "password" /var/log/mysqld.log

5.执行以下命令,登录数据库。

mysql -uroot -p

6.执行以下命令,修改MySQL默认密码。

set global validate_password_policy=0;  #修改密码安全策略为低(只校验密码长度,至少8位)。
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

7.执行以下命令,授予root用户远程管理权限。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
  1. 输入exit退出数据库。

步骤二:安装Nginx

1.安装Nginx运行所需要的插件。
安装gcc。gcc是Linux下的编译器,它可以编译C、C++、Ada、Object C和Java等语言。

yum -y install gcc

安装pcre。pcre是一个perl库,Nginx的HTTP模块使用pcre来解析正则表达式。

yum install -y pcre pcre-devel

安装zlib。zlib是一个文件压缩和解压缩的库,Nginx使用zlib对HTTP数据包进行gzip压缩和解压。

yum install -y zlib zlib-devel

2.下载Nginx安装包。

wget http://nginx.org/download/nginx-1.17.10.tar.gz

3.解压Nginx安装包。

tar -zxvf nginx-1.17.10.tar.gz

4.编译安装Nginx。

cd nginx-1.17.10
./configure
make && make install

5.启动Nginx。

cd /usr/local/nginx/
sbin/nginx

6.测试Nginx启动。在浏览器地址栏输入服务器的公网地址,例如123.123.123.123,出现如下界面表示安装启动成功。

步骤三:安装PHP

1.安装PHP。

yum -y install php php-mysql php-fpm

2.在nginx.conf文件中增加对PHP的支持。

vim /usr/local/nginx/conf/nginx.conf

进入Vim编辑器后,按下i键进入编辑模式,在server的根路由配置中新增index.php。

location / {
      root   html;
      index  index.html index.htm index.php;
}

并在根路由下面新增以下配置。

if (!-e $request_filename) {
     rewrite ^/(.*)$ /index.php/$1 last;
}

location ~ .*\.php(\/.*)*$ {
     fastcgi_pass   127.0.0.1:9000;
     include       fastcgi.conf;
     fastcgi_index  index.php;
}

按下ESC键,输入:wq保存并退出Vim编辑器。

3.重启php-fpm服务。

systemctl restart php-fpm

4.重启Nginx服务。

/usr/local/nginx/sbin/nginx -s reload

5.检查PHP安装。

a. 在Nginx的网站根目录下创建PHP探针文件phpinfo.php。

echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/phpinfo.php

b. 访问PHP探针页面。在浏览器地址栏输入xx.xx.xx.xx/phpinfo.php(请将xx.xx.xx.xx替换为服务器的公网地址),出现如下页面表示PHP环境配置成功。
在这里插入图片描述

以上就是【快速搭建LNMP环境】 的所有教程了

更多体验场景请至开发者实验室:https://developer.aliyun.com/adc/labs/

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL 应用服务中间件
手动部署LNMP环境(Alibaba Cloud Linux 2)
本场景带您体验如何在Alibaba Cloud Linux 2.1903 LTS 64位操作系统的云服务器上搭建LNMP环境。
|
6月前
|
关系型数据库 应用服务中间件 nginx
基于Docker的LNMP环境微服务搭建
基于Docker的LNMP环境微服务搭建
基于Docker的LNMP环境微服务搭建
|
关系型数据库 MySQL 应用服务中间件
快速搭建LNMP环境
Nginx是一款小巧而高效的Web服务器软件,可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本教程介绍如何搭建LNMP环境,其中LNMP分别代表Linux、Nginx、MySQL和PHP。
|
关系型数据库 MySQL 应用服务中间件
Nginx__高级进阶篇之LNMP动态网站环境部署
Nginx__高级进阶篇之LNMP动态网站环境部署
204 0
|
应用服务中间件 PHP nginx
基于Anolis OS 3快速搭建LNMP环境制作KodBox
本教程介绍如何搭建LNMP环境,其中本实验的LNMP分别代表Anolis OS 3、Nginx、Mariadb和PHP。
|
关系型数据库 MySQL 应用服务中间件
centos7 配置LNMP环境
centos7 配置LNMP环境
147 0
|
6月前
|
API PHP 数据库
Docker六脉神剑(四) 使用Docker-Compose进行服务编排搭建lnmp环境
Docker六脉神剑(四) 使用Docker-Compose进行服务编排搭建lnmp环境
66 0
|
关系型数据库 MySQL Linux
Linux环境下LNMP架构实战案例
Linux环境下LNMP架构实战案例
108 0
|
弹性计算 关系型数据库 MySQL
基于ROS快速部署LNMP环境(CentOS 7)
本教程提供在阿里云云服务器ECS上基于CentOS 7.9操作系统搭建LNMP环境的指引。LNMP是应用广泛的网站服务系统,由四种免费的开源软件Linux、Nginx、MySQL和PHP组成。搭建好LNMP环境后,您可以在该ECS实例上搭建网站、访问网站
|
关系型数据库 MySQL 应用服务中间件
手动部署LNMP环境(Ubuntu 20)
本教程介绍如何在Ubuntu 20.04操作系统的ECS实例上搭建一套Nginx、MySQL和PHP应用的开发环境。
下一篇
无影云桌面