Lnmp一键脚本
#!/bin/bash #================================================================
# Copyright (C) 2018 All rights reserved.
#
# File::lnmp_install.sh
# Author:zhurui
# Date:2018/12/13
# Description:install nginx,mysql,php
#
#================================================================ dir=/data
nginx_download_path="http://nginx.org/download/nginx-1.12.0.tar.gz"
nginx_install_dir="/usr/local/nginx"
mysql_download_path="https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz"
mysql_install_dir="/usr/local/mysql"
php_download_path="http://jp2.php.net/distributions/php-5.5.38.tar.gz"
php_install_path="/usr/local/php"
nginx_name="nginx-1.12.0.tar.gz"
mysql_name="mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz"
php_name="php-5.5.38.tar.gz" [ -f /etc/init.d/functions ] && . /etc/init.d/functions || exit 1 # create file download dir
create_dir(){
if [ ! -e $dir ]
then
mkdir $dir
else
echo "file download dir is exit!"
fi
} # install nginx 1.12.0
install_nginx(){
# yum install something
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install -y pcre pcre-devel openssl openssl-devel gcc make gcc-c++
# download nginx
[ -e $dir ] && cd $dir
wget $nginx_download_path
if [ -f $nginx_name ]
then
echo 'nginx download success'
# tar nginx
tar zxf $nginx_name && cd nginx-1.12.0
# add user nginx
useradd nginx -s /sbin/nologin -M
# install nginx
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[ $(echo $?) -eq 0 ] && make && make install
[ $(echo $?) -eq 0 ] && echo "nginx install success"
fi
}
# start nginx
start_nginx(){
# check syntax
$nginx_install_dir/sbin/nginx -t
# start
if [ $(echo $?) -eq 0 ]
then
$nginx_install_dir/sbin/nginx
if [ $(netstat -lutnp|grep 80|wc -l) -eq 1 ]
then
action "nginx starting success..." /bin/true
else
echo "nginx starting fail,plaese check the service!"
fi
fi
}
# install mysql 5.5.56
install_mysql(){
# yum install something
yum install -y ncurses-devel automake autoconf bison libtool-ltdl-devel
# download mysql
[ -e $dir ] && cd $dir
wget $mysql_download_path
if [ -f $mysql_name ]
then
echo 'mysql download success'
# tar mysql
echo "just wait a moment,mysql is Extracting..."
tar zxf mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
# rename
mv mysql-5.5.56-linux-glibc2.5-x86_64 mysql-5.5.56
# mkdir dir mysql
if [ ! -d $mysql_install_dir ]
then
mkdir -p $mysql_install_dir
fi
# move file to mysql_install_dir
mv mysql-5.5.56/* /usr/local/mysql/
# add user mysql
useradd mysql -s /sbin/nologin -M
# chown
chown -R mysql.mysql /usr/local/mysql
# change dir
cd $mysql_install_dir
# install mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
# mv my.cnf
[ $(echo $?) -eq 0 ] && \cp support-files/my-medium.cnf /etc/my.cnf
# mv mysql.server
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chmod +x
chmod +x /etc/init.d/mysqld
# add to boot auto launch
chkconfig --add mysqld
chkconfig mysqld on
# add to PATH
PATH=$PATH:/usr/local/mysql/bin/
echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile
source /etc/profile
fi
} # start mysql_server
start_mysql(){
# start
/etc/init.d/mysqld start
if [ $(netstat -lutnp|grep 3306|wc -l) -eq 1 ]
then
action "mysql starting success..." /bin/true
else
echo "mysql starting fail,plaese check the service!"
fi
} # install php5.5.38
install_php(){
# yum install something
yum install zlib-devel openssl-devel openssl libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mcrypt mhash -y
# download php
[ -e $dir ] && cd $dir
wget $php_download_path
if [ -f $php_name ]
then
echo 'php download success'
# tar file
tar zxf $php_name && cd php-5.5.38
# install php
echo "Please hold on!The configure output message is so large so that I hide the output message!..."
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/lcoal/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-xsl --with-fpm-user=nginx --with-fpm-user=nginx --enable-ftp --enable-opcache=no >> /dev/null 2>&1
[ $(echo $?) -eq 0 ] && ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ && touch ext/phar/phar.phar
make >> /dev/null 2>&1
make install
# copy php.ini
cp php.ini-development /etc/php.ini
# copy php-fpm
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x
chmod +x /etc/init.d/php-fpm
# add to PATH
PATH=$PATH:/usr/local/php/bin/
echo "export PATH=$PATH:/usr/local/php/bin/" >>/etc/profile
source /etc/profile
# add to boot auto launch
chkconfig --add php-fpm
chkconfig php-fpm on
fi
} # start php-fpm
start_phpfpm(){
# start
/etc/init.d/php-fpm start
if [ $(netstat -lutnp|grep 9000|wc -l) -eq 1 ]
then
action "php-fpm starting success..." /bin/true
else
echo "php-fpm starting fail,plaese check the service!"
fi } # main function
main(){
#create dir
create_dir
# install
install_nginx
sleep 3
install_mysql
sleep 3
install_php
# start
start_nginx
sleep 2
start_mysql
sleep 2
start_phpfpm
}
main
Lnmp一键脚本的更多相关文章
- LNMP一键安装包 PHP自动升级脚本
LNMP一键安装包 PHP自动升级脚本 2011年03月15日 上午 | 作者:VPS侦探 前一段时间完成了lnmp一键安装包的PHP自动升级脚本,今天发布出来,如果想升级PHP版本的lnmp用户可以 ...
- 安装lnmp一键安装包(转)
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要3GB以上硬盘剩余空间 128M以上内存,Xen的需要有SWAP,OpenVZ的另外 ...
- lnmp_auto:自动化安装lnmp环境脚本
朋友找我在一台机器上帮忙安装下discuz.想着搭建过好几次的lnmp了,但是还没有使用过"一键安装"的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是 ...
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- LNMP一键安装包 V1.1
通告
LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.P ...
- Linode和DigitalOcean lnmp一键安装包哪个好?
Linode和DigitalOcean都是非常棒的VPS厂商,512MB内存的VPS每月低到5美元,搭建wordpress网站,非常方便,甚至可以多人共用,服务器足够强悍,跑几个wordpress博客 ...
- lnmp一键安装的卸载
http://blog.csdn.net/lansetiankong12/article/details/48130507 如果是lnmp一键安装的 进入安装包目录 [root@www home]# ...
- LNMP一键安装包
http://www.aliweihu.com/333.html LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat.Debian/Ub ...
- Linux系统下LNMP一键搭建Linux、PHP、MySQL环境(适合新手搭建linux下的web生成环境)
一. 首先要解释一下,什么是LNMP,LNMP起源于LAMP,LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的缩写,这里将Web服务端的Apache替换 ...
随机推荐
- String的substring()用于截取字符串
substring() 用于返回一个字符串的子字符串,即截取字符串功能. substring()常用的重载方法如下: substring(int beginIndex,int endIndex) 意思 ...
- Java 8 异常该进
try-with-resources 这个特性是在JDK7中出现的,我们在之前操作一个流对象的时候大概是这样的: try { // 使用流对象 stream.read(); stream.write( ...
- .Net Core微服务系列--理论篇
微服务的由来 微服务最早由Martin Fowler与James Lewis于2014年共同提出来的,但是微服务也不是一个全新的概念,它是由一系列在实践中获得成功并流行起来的概念中总结出来的一种模式, ...
- JS中清空字符串前后空格
在JS 操作的时候 长期会有对字符串的操作, 但是在JS 中不像在C#中 有字符串的方法 Trim() 来对字符串进行处理 . 所以自己写一个对字符串前后清楚空格的方法还是有必要的 以免以后忘记了 ...
- Linux时间子系统之三:时间的维护者:timekeeper
专题文档汇总目录 Notes: 原文地址:Linux时间子系统之三:时间的维护者:timekeeper 本系列文章的前两节讨论了用于计时的时钟源:clocksource,以及内核内部时间的一些表示方法 ...
- (二)Linux下的crontab定时执行任务命令详解
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为&qu ...
- tkinter中布局pack、place和grid(八)
tkinter中布局pack.place和grid pack布局 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuy ...
- 27.app后端搭建聊天服务器的经历
现在,聊天功能已经成了社交app的标配了.但是,众多web开发出生的程序员对聊天相关的服务的不了解,带来了很多开发上的困扰.在这篇文章中,根据下面3个方面,谈谈聊天服务. 1. 聊天服务的技 ...
- 玩转Spring MVC(二)----MVC框架
早期程序员在编写代码时是没有一个规范的,系统的业务逻辑和数据库的访问时混合在一起的,不仅增加了大量的重复工作,而且增加了后期维护的难度. 后来,人们逐渐发现某些通用的功能是可以单独的封装起来的,这样就 ...
- Linux上配置使用iSCSI详细说明
本文详细介绍iSCSI相关的内容,以及在Linux上如何实现iSCSI. 第1章 iSCSI简介 1.1 scsi和iscsi 传统的SCSI技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 ...