文档章节

阿里云一键部署LNMP(Linux+Nginx+MySQL+PHP)栈

乱蓬头
 乱蓬头
发布于 2017/05/19 14:33
字数 633
阅读 7
收藏 0

摘要: LNMP代表Linux+Nginx+MySQL+PHP网站服务器架构。通过ROS资源编排可以阿里云上一键部署LNMP栈。

LNMP代表Linux+Nginx+MySQL+PHP网站服务器架构。本文主要目的是为大家提供一种非常简单的方法,在阿里云上部署LNMP栈。
通过<阿里云ROS资源编排服务>,将VPC、NAT Gateway、ECS创建,LNMP栈部署过程自动化,使大家能够非常方便地部署一个LNMP栈。

急速部署LNMP栈

一键部署LNMP栈>>
screenshot
screenshot

注意:

ROS模板安装LNMP栈

安装LNMP:关闭防火墙,关闭SELinux,安装nginx,MySQL和PHP。UserData如下:

    "systemctl stop firewalld.service \n",
    "systemctl disable firewalld.service \n",
    "sed -i 's/^SELINUX=/# SELINUX=/' /etc/selinux/config \n",
    "sed -i '/# SELINUX=/a SELINUX=disabled' /etc/selinux/config \n",
    "setenforce 0 \n",
    "yum install yum-priorities -y \n",
    "yum -y install aria2 \n",
    "aria2c $NginxUrl \n",
    "rpm -ivh nginx-*.rpm \n",
    "yum -y install nginx \n",
    "systemctl start nginx.service \n",
    "systemctl enable nginx.service \n",
    "yum -y install php-fpm \n",
    "systemctl start php-fpm.service \n",
    "systemctl enable php-fpm.service \n",
    "sed -i '/FastCGI/,/htaccess/s/    #/    /' /etc/nginx/conf.d/default.conf \n",
    "sed -i '/FastCGI/s/^    /    #/' /etc/nginx/conf.d/default.conf \n",
    "sed -i '/htaccess/s/^    /    #/' /etc/nginx/conf.d/default.conf \n",
    "sed -i '/SCRIPT_FILENAME/s/\\/scripts/\\/usr\\/share\\/nginx\\/html\\//' /etc/nginx/conf.d/default.conf \n",
    "yum -y install mariadb mariadb-server \n",
    "systemctl start mariadb.service \n",
    "systemctl enable mariadb.service \n",
    "yum -y install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash \n",
    "MDSRING=`find / -name mbstring.so` \n",
    "echo extension=$MDSRING >> /etc/php.ini \n",
    "systemctl restart mariadb.service \n",
    "mysqladmin -u root password \"$dbrootpassword\" \n",
    "$(mysql $dbname -u root --password=\"$dbrootpassword\" >/dev/null 2>&1 </dev/null); (( $? != 0 )) \n",
    "echo CREATE DATABASE $dbname \\; > /tmp/setup.mysql \n",
    "echo GRANT ALL ON $dbname.* TO \"$dbuser\"@\"localhost\" IDENTIFIED BY \"'$dbpassword'\" \\; >> /tmp/setup.mysql \n",
    "mysql -u root --password=\"$dbrootpassword\" < /tmp/setup.mysql \n",
    "$(mysql $dbname -u root --password=\"$dbrootpassword\" >/dev/null 2>&1 </dev/null); (( $? != 0 )) \n",
    "cd /root \n",
    "systemctl restart php-fpm.service \n",
    "systemctl restart nginx.service \n",
    "echo \\<?php >  /usr/share/nginx/html/test.php \n",
    "echo \\$conn=mysql_connect\\(\"'127.0.0.1'\", \"'$dbuser'\", \"'$dbpassword'\"\\)\\; >>  /usr/share/nginx/html/test.php \n",
    "echo if \\(\\$conn\\){ >>  /usr/share/nginx/html/test.php \n",
    "echo   echo \\\"LNMP platform connect to mysql is successful\\!\\\"\\; >>  /usr/share/nginx/html/test.php \n",
    "echo   }else{  >>  /usr/share/nginx/html/test.php \n",
    "echo echo \\\"LNMP platform connect to mysql is failed\\!\\\"\\;  >>  /usr/share/nginx/html/test.php \n",
    "echo }  >>  /usr/share/nginx/html/test.php \n",
    "echo  phpinfo\\(\\)\\;  >>  /usr/share/nginx/html/test.php \n",
    "echo \\?\\>  >>  /usr/share/nginx/html/test.php \n",

测试部署结果

创建完成后,查看资源栈概况:


screenshot

 

浏览器中输入图中的的NginxWebsiteURL,得到如下结果,则部署成功:
screenshot

ROS示例模板

LNMP_basic.json
screenshot

本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com

本文转载自:http://click.aliyun.com/m/21448/

共有 人打赏支持
乱蓬头
粉丝 0
博文 382
码字总数 2595
作品 0
阿里云E-HPC联合安世亚太、联科集团共建云超算生态

摘要: 进入“中国制造2025”新时代的节奏又加快了速度!阿里云是国内最大的云计算厂商,去年9月阿里云推出了首个公共云上的超算平台,可一键部署获得媲美大型超算集群环境的云上超算中心,在...

阿里云云栖社区
05/28
0
0
1月9日云栖精选夜读:场景化封装,一站式使用,普惠AI集成 ——阿里云发布智能媒体管理产品

导语 近日,阿里云发布了智能媒体管理(Intelligent Media Management)服务, 通过离线处理能力关联授权的云存储,提供便捷的海量多媒体数据一键分析,并通过该分析过程构建价值元数据,更好...

yq传送门
01/09
0
0
阿里云智能软件机器人码栈,提高数千万人工作效率

摘要: 码栈,以提升企业提效为目标,帮助用户连接不同的系统和服务,实现工作流程自动化。运用码栈能够显著将客服、运营、财务、法务、设计师以及更多领域的客户重复工作流高速化,提升岗位...

于溪落霞
2017/08/24
167
0
什么是阿里云轻量应用服务器?它有什么优点?值得购买吗?

本文将详细介绍轻量服务器,又将是一篇长文,请耐心阅读。 什么是阿里云轻量应用服务器? 借用阿里云官网的话:【轻量应用服务器 (Simple Application Server),是可快速搭建且易于管理的轻...

小宙
2017/11/17
0
0
云栖大会·武汉峰会|安世亚太宣布基于阿里云EHPC能力推出国内首个高性能仿真云平台PERA.SimCloud

5月23日,2018云栖大会武汉峰会,阿里云高级技术专家刘峥和张维,对弹性计算最新上线的 serverless (无服务器化)计算技术Bazaar及基于该技术的容器服务产品 Severless Kubernetes 进行了解...

云上未来
05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
31
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部