老司机教你使用shell脚本15分钟部署LNMP

防伪码:我喜欢出发,只为到达的地方都属于昨天!

         老司机教你使用shell脚本15分钟部署LNMP

一、环境简介

1、LNMP,顾名思义,就是Linux系统下Nginx+MySQL+PHP的一种网站服务器架构。

2、Linux是目前最流行的免费操作系统,代表版本有debian、centos、fedora、gentoo等,

今天我们使用CentOS-6.5作为LNMP架构的基础。

3、Nginx是一个高性能的HTTP和反向代理服务器,其性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

4、MySQL凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统

5、PHP是一种在服务器端执行的嵌入HTML文档的脚本语言

综上所述、这四种免费开源的软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

二、实验步骤

1、实验基础

1)开启一台CentOS-6.5虚拟机,挂载系统光盘(/media下),复制到/a下。

wKioL1gK9PKjQ1tyAABCmoiqyTM216.png-wh_50

2)挂载Nginx光盘到/media下

wKioL1gK9Zuh_Z4PAAA43JymgI0468.png-wh_50

3)为保证后续实验畅通,我们将yum的相关配置文件删除

wKiom1gK932TWsloAAAnCGeFoRI059.png-wh_50

4)为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和

service工具进行管理。

wKiom1gK_DOR7pCDAABPvS4iZUQ007.png-wh_50

wKioL1gK_EqxcNgkAABF1yujcec164.png-wh_50

注:kill -s QUIT $(cat $PIDF)表示根据PID终止Nginx进程

wKioL1gK_FmTt9ckAAAzzI2AnZ4976.png-wh_50

注:kill -s HUP $(cat $PIDF)表示根据进程号重载配置

wKioL1gK_SnD-0cnAAA_b_hY2Ps781.png-wh_50

注:此脚本可以使php-fpm进程随着Nginx进程启动/停止(加在nginx服务脚本的后面,即esac的后面)

2、编写脚本,自动化部署LNMP平台的web应用(博文附件里我会上传一份)

1)查看脚本,稍后我们详解(vi 123.sh)

wKioL1gLBCmBpfANAABKg3nuJcw110.png

wKiom1gLBEuA3koUAABJAZaU8dg875.png

wKioL1gLBG2gkXtBAABagXOgLp4298.png

wKioL1gLA6aTKfhPAABotEfbVZg785.png

wKiom1gLA82g6BQMAABt0RIFVJQ483.png

wKiom1gLA_DyeUzzAABJLxHrhGI209.png

2)详解脚本

第一部分:搭建yum仓库

yum="[yum]                //仓库类别
name=1111111                //仓库名称
baseurl=file:///a                //url访问路径
enabled=1                //启用此软件仓库
gpgcheck=0"                //验证软件包的签名
echo "$yum" >> /etc/yum.repos.d/abc.repo                //将变量追加给yum配置文件


第二部分:安装pcre-devel、zlib-devel(软件开发包,提供相应的库和头文件,确保Nginx安装顺利完成),

libxml2-devel、gd、libjpeg-devel、libpng-devel(php及后续web应用的安装包)

通过查询,如果系统安装过,提示已安装xxx;否则则安装

pcredevel=$(rpm -qa | grep pcre-devel)
if [ $? -eq 0 ]
then
echo "yianzhuang pcre-devel"
else
yum -y install pcre-devel
fi
libxml2devel=$(rpm -qa | grep libxml2-devel)
if [ $? -eq 0 ]
then
echo "yianzhuang libxml2-devel"
else
yum -y install libxml2-devel
fi
zlibdevel=$(rpm -qa | grep zlib-devel)
if [ $? -eq 0 ]
then
echo "yianzhuang zlib-devel"
else
yum -y install zlib-devel
fi
gd=$(rpm -qa | grep gd)
if [ $? -eq 0 ]
then
echo "yianzhuang gd"
else
yum -y install gd
fi
libjpegdevel=$(rpm -qa | grep libjpeg-devel)
if [ $? -eq 0 ]
then
echo "yianzhuang libjpeg-devel"
else
yum -y install libjpeg-devel
fi
libpngdevel=$(rpm -qa | grep libpng-devel)
if [ $? -eq 0 ]
then
echo "yianzhuang libpng-devel"
else
yum -y install libp
ng-devel
fi


第三部分:统一解包

cd /media
tar zxf php-5.3.28.tar.gz -C /
tar zxf mysql-5.5.38.tar.gz -C /
tar zxf nginx-1.6.2.tar.gz -C /
tar zxf cmake-2.8.12.tar.gz -C /
tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /        //提高php程序的执行效率,优化页面加载速度
cp SKYUC_3.4.2_for_php5.3.zip /            //解压缩天空网络电影系统源代码
cd /
unzip SKYUC_3.4.2_for_php5.3.zip


第四部分:安装Nginx并做访问状态统计

cd /nginx-1.6.2/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module(支持状态统计,便于查看服务器的连接信息)
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin            //创建链接文件
cd /media
cp nginx /etc/init.d/nginx
chmod +x /etc/init.d/nginx
chkconfig --add nginx            //添加为系统服务
chkconfig --level 35 nginx on            //35级别自启
useradd -M -s /sbin/nologin nginx            //创建运行用户,以便更准确的控制其访问权限,增加灵活性,降低安全风险
sed -i '48 i\location /status {' /usr/local/nginx/conf/nginx.conf            //访问位置为/status
sed -i '49 i\stub_status on ;' /usr/local/nginx/conf/nginx.conf            //打开状态统计功能
sed -i '50 i\access_log off;}' /usr/local/nginx/conf/nginx.conf            //关闭此位置的日志记录


第五部分:初始化数据库、启动MySQL服务、安装MySQL数据库

1)编译安装MySQL

cd /cmake-2.8.12
./configure && gmake && gmake install            //cmake是一个跨平台的安装编译工具,可以编译源代码、制作程式库
cd /mysql-5.5.38/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -SYSCONFDIR=/etc && make && make install


2)优化调整

rm -rf /etc/my.cnf
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile


3)初始化数据库

groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/


4)启动MySQL服务

service mysqld start
mysqladmin -u root password '123456'


第六部分:安装PHP解析环境

1)编译安装PHP

cd /php-5.3.28/
./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
make && make install


2)安装后的调整

cp php.ini-development /usr/local/php5/php.ini


3)安装ZendGuardLoader(提高PHP程序的执行效率,优化页面加载速度)

cd /ZendGuardLoader-php-5.3-linux-glibc23-x86_64/
cd php-5.3.x/
cp ZendGuardLoader.so /usr/local/php5/lib/php/
zend="Zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
Zend_loader.enable=1"
echo "$zend" >> /usr/local/php5/php.ini


4)配置Nginx支持PHP环境

cd /usr/local/php5/etc/
cp php-fpm.conf.default php-fpm.conf
useradd -M -s /sbin/nologin php        //创建运行用户php
sed -i "s/nobody/php/g" /usr/local/php5/etc/php-fpm.conf        //运行用户
sed -i "s/pm.max_children[[:space:]]=[[:space:]]5/pm.max_children = 50/g" /usr/local/php5/etc/php-fpm.conf        //最多进程空闲数
sed -i "s/pm.min_spare_servers[[:space:]]=[[:space:]]1/pm.min_spare_servers = 5/g" /usr/local/php5/etc/php-fpm.conf        //最少进程空闲数
sed -i "s/pm.max_spare_servers[[:space:]]=[[:space:]]3/pm.max_spare_servers = 35/g" /usr/local/php5/etc/php-fpm.conf
sed -i "s/pm.start_servers[[:space:]]=[[:space:]]2/pm.start_servers = 20/g" /usr/local/php5/etc/php-fpm.conf        //启动时开启的进程数


第七部分:配置Nginx支持PHP解析(调用本机的php-fpm进程)

sed -i '53 i\location ~ \.php$ {' /usr/local/nginx/conf/nginx.conf        //访问.php页面的配置段
sed -i '54 i\root       /usr/local/nginx/html;' /usr/local/nginx/conf/nginx.conf        //PHP网页的根目录
sed -i '55 i\fastcgi_pass       127.0.0.1:9000;' /usr/local/nginx/conf/nginx.conf        //php-fpm的监听地址
sed -i '56 i\fastcgi_index  index.php;' /usr/local/nginx/conf/nginx.conf        //php首页文件
sed -i '57 i\include     fastcgi.conf;}' /usr/local/nginx/conf/nginx.conf        //包括fastcgi.conf样本配置


第八部分:部署网站程序代码

cd SKYUC.v3.4.2.SOURCE/
mv wwwroot /usr/local/nginx/html/
cd /usr/local/nginx/html/wwwroot
chown -R php:php admincp/ data/ templates/ upload/


优化php路径,设置MySQL密码,开启nginx服务

ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
mysqladmin -u root password '123456'
service nginx start


安装完成,如下所示

wKioL1gLGRHTE43-AAB6IMJ7eAI735.png-wh_50

查看监听端口号

wKiom1gLGTiTw_xRAAAtPs80RXg754.png-wh_50

为了降低Web应用程序对数据库的风险,建议设置专用的数据库及授权用户(新建skyucdb库,授权本人名)

wKioL1gLGf2DuGfHAAA2Dta0IqQ868.png

安装Web应用

wKiom1gLG0LAnnsXAAB2zHzExiw321.png-wh_50

wKioL1gLG1CDWtbvAABtBCajVFs598.png-wh_50

wKiom1gLG2HwyAbYAADfjvuCwTU903.jpg-wh_50

wKiom1gLG33TvPEvAAFjx_yvmkM824.jpg-wh_50

使用shell脚本部署、使用基于LNMP平台的Web应用系统就完成了,后续可根据工作需要更改相关配置!

希望能帮到大家,共同进步吧!


weixin_33969116
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shell脚本一键部署LNMP
luxunlx123的博客
12-02 1061
#******************************* #* Author: * #* Create_Date:2020-07-15 01:52* #* Version * #* Mail * #* Description * #* * #*
linux系统下自动部署lnmp服务的脚本
10-08
在linux系统下,运行此脚本,可以自动化部署lnmp服务
shell脚本---自动化部署lnmp
朱海燕的博客日记
07-21 874
脚本如下: [root@localhost shell]# vim lnmp.sh #!/bin/bash yum -y install httpd   ----安装http yum -y install mariadb mariadb-devel mariadb-server  ---安装数据库 yum -y install php php-mysql   ----安装php依赖包 syste...
shell脚本一键部署lnmp架构
此后如竟没有炬火,我便是唯一的光。
11-29 1208
shell脚本部署lnmp架构1. 创建存放脚本的目录2. 创建脚本文件3. 编写脚本 1. 创建存放脚本的目录 [root@localhost ~]# mkdir /script [root@localhost ~]# cd /script/ 2. 创建脚本文件 [root@localhost script]# touch lnmp.sh [root@localhost script]# mkdir packages //创建存放tar包的目录 [root@localhost packages]#
Shell脚本一键部署LNMP
小杨博客 学习交流
08-25 523
脚本一键部署LNMP
使用shell脚本安装lnmp的方法步骤
01-20
使用shell脚本安装lnmp,纯粹是偷懒,平时安装一些东西都写成脚本了,方便以后在其他机器安装的时候不用再去查找文档。 PHP版本5.6.6 MYSQL版本5.6.26 NGINX版本1.15.6 2、环境说明 阿里云ECS(1G1核)CentOS 7.4...
Debian 部署LNMP环境SHELL脚本
05-06
Debian 部署LNMP环境SHELL脚本
阿里云主机一键安装lamp、lnmp环境的shell脚本分享
09-15
主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
shell脚本搭建LNMP环境
01-10
shell脚本一键搭建LNMP环境
shell脚本一键部署LNMP框架
weixin_55609817的博客
06-02 247
#/bin/bash ##将需要的安装包传到/opt目录下,并关闭防火墙 systemctl stop firewalld systemctl disable firewalld &>/dev/null setenforce 0 ###############Nginx############### ##先挂载,再安装依...
Shell脚本一键部署LNMP架构
Zzzzzz的博客
11-05 670
Shell脚本一键部署LNMP架构 具体安装流程: 安装nginx→安装MySQL数据库→安装PHP工具 #!/bin/bash #远程挂载 df -hT | grep -o "cifs" if [ $? -ne 0 ];then echo "Start mount" yum install expect -y read -p "请输入提供硬盘主机IP:" gongip /usr/bin/exp...
Linux下Shell脚本部署LNMP服务的配置文件
运维@小兵的博客
05-31 371
## Install LNMP Services ## # LNMP configuration file example. # /cloud_nsd/conf/lnmp.conf ################################## INCLUDES ################################### # Include one or more othe...
简单的一键部署LNMP架构shell脚本
Friendsofthewind的博客
08-19 777
目标一: 提示:为什么要用它? LNMP是一套由Linux + Nginx + MySQL + PHP组成的动态网站系统解决方案,具有免费、高效、扩展性强且资源消耗低等优良特性。 目标二: 提示:LNMP是什么? L:表示Linux系统,提高操作系统 N:表示Nginx服务,提供web网站服务 M:表示Mysql数据库,为平台架构提供数据存储 P:表示PHP、python、perl等等编程语言,是在服务器端执行的脚本语言 目标三: 提示:如何搭建LNMP 1、 手工搭建(此方法,适合新手,不常用,省略.
Shell脚本一键安装LNMP环境
weixin_30311605的博客
07-20 198
https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器。Nginx在反向代理,Rewrite规则,稳定性,静态文件处理,内存消耗等方面表现了很强的优势。因此公司线上和测试环境的WEB服务大多数采用的是LNMP环境,经常要进行LNMP环境的搭建,下面是用SHELL脚本写的一键安装LNMP环境的脚...
Shell 脚本 -04-一键部署 LNMP
RunzIyy的博客
06-12 418
Shell 脚本 100例 -04 一键部署 LAMP(RPM 包版本) 脚本需求: #! /bin/bash wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all && yum makecache yum -y install httpd && echo 'httpd Install succeed' yum -y instal
LNMP安装步骤详细程以及一键部署脚本
Chenwei的博文
01-12 6392
LNMP安装步骤详细程以及一键部署lnmp脚本 文章目录一、安装 Nginx 服务二、安装 MySQL 服务三、安装配置 PHP 解析环境四、一键部署LNMP脚本 一、安装 Nginx 服务 1、关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 2、安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c++ make 3、创建运行用户 useradd -
如何使用shell脚本一键部署lnmp
最新发布
04-25
您可以执行以下步骤来使用shell脚本一键部署lnmp环境: 1. 下载lnmp一键安装包,解压缩。 2. 进入解压后的目录,执行chmod +x install.sh,授予脚本执行权限。 3. 执行./install.sh,进入安装向导。 4. 根据提示...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 洛杉矶警局用 AI “预测犯罪”;北欧银行拟裁员六千,用智能机器取而代之 20177
  • Win7系统ping所有的ip都提示”PING:传输失败General failure 14639
  • 多年收集的一些稀有软件3 13246
  • sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)... 11749
  • selenium用XPATH直接获取属性值 需要使用.get_attribute(“属性名”) 11617

最新评论

  • 接口到底是什么?

    鹅是企鹅的鹅: 感谢老师!!!!表情包

  • 接口到底是什么?

    qq_46757160: 我不知道我的这个解释对不对:接口是一张黑白图纸(就好像工业里的某些零件设计图,当然一般都是黑白的三视图),而抽象类就像一张彩色图纸(工业里的某些罕见的彩色零件图纸,也是彩色三视图),而实类有可能也不是成品,而有可能是半成品或瑕疵品,因为实类也需要更新换代,它有可能有继承类,基础类就是成品了,当然也不是完全没瑕疵,继承类还可以进一步完善,从而再出现继承类,更加完美。

  • sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)...

    S"ecret./: select (Cast(字段名 as varchar(20)) +'('+ Cast(字段名 as varchar(20))+')') from tableName 这种显示方式,当有多条数据,而且每条数据有序号字段,怎么样可以实现按照序号的顺序来合并字段显示呢?

  • ABP框架系列之二:(Entity Framework Core-实体核心框架)

    cansou: CSDN都是抄一点东西嘛?

  • 怎样成为一个游戏制作人——第五章:使用GGE图形库来写游戏

    一个不会编程却想开发游戏的中年大叔: 我C,看的好好的,突然蒙了,还下次做个打✈️🤥

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • .Net下进程外COM服务器的实现
  • C# Cookbook (Executing Stored Procedures)
  • 【算法】简单动态规划——三逆数的O(N^2)解法!
2019年356篇
2018年685篇
2017年938篇
2016年522篇
2015年426篇
2014年291篇
2013年295篇
2012年272篇
2011年185篇
2010年161篇
2009年129篇
2008年98篇
2007年81篇
2006年38篇
2005年20篇
2004年9篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司柳州网站关键词优化价格思茅seo运城seo网站优化报价玉溪设计网站推荐聊城网站优化按天扣费价格黔西南模板制作哪家好东营关键词按天扣费报价清远百度爱采购哪家好阳江企业网站改版多少钱临汾建站哪家好伊春seo网站推广多少钱六安网站改版报价嘉兴如何制作网站推荐崇左阿里店铺运营多少钱淄博设计网站报价江门网站定制报价珠海网站优化按天扣费延安关键词排名报价商丘外贸网站设计价格林芝网页制作推荐宿州企业网站建设推荐包头模板网站建设萍乡网站搜索优化木棉湾网站优化按天计费公司汉中seo网站推广报价清徐关键词按天收费公司黔东南关键词排名包年推广价格辽源百度爱采购报价白城网站开发公司绍兴如何制作网站价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化