1、简介
使用shell脚本安装lnmp,纯粹是偷懒,平时安装一些东西都写成脚本了,方便以后在其他机器安装的时候不用再去查找文档。
- PHP版本5.6.6
- MYSQL版本5.6.26
- NGINX版本1.15.6
2、环境说明
阿里云ECS(1G1核)CentOS 7.4 64位
3、shell脚本
3.1 cnl_function.sh
#!/bin/bash #chennailuan's function #check last command id Ok or not. check_ok(){ if [ $"^$1" then yum install -y $1 check_ok else echo $1 already installed. fi } #check service is running or not ,example nginx ,httpd ,php-fpm check_service(){ if [ $1 == "phpfpm" ] then s="php-fpm" else s=$1 fi n=`ps aux | grep $s | wc -l` if [ $n -gt 1 ] then echo "$1 service is already started." else if [ -f /etc/init.d/$1 ] then /etc/init.d/$1 start check_ok else install_$1 fi fi }
3.2 cnl_install_lnmp_init.sh
#!/bin/bash source ./cnl_function.sh echo "It will install lamp=========================================================================================begin" #sleep 2 #get the archive of the system ,i686 or x86_64 ar=`arch` #close selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config selinux_s=`getenforce` if [ $selinux_s == "enforcing" ] then setenforce 0 fi #install some packges for p in gcc wget perl perl-devel libaio libaio-devel pcre-devel zlib-devel autoconf openssl openssl-devel do myum $p done #install epel. if rpm -qa epel-release > /dev/null then rpm -e epel-release fi if ls /etc/yum.repos.d/epel-7.repo* > /dev/null 2>&1 then rm -f /etc/yum.repos.d/epel-7.repo* fi wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
3.3 cnl_install_lnmp.sh
#!/bin/bash source ./cnl_function.sh source ./cnl_install_lnmp_init.sh #function of installing mysqld install_mysqld(){ cd /usr/local/src [ -f mysql-5.6.26-linux-glibc2.5-$ar.tar.gz ] || wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.26-linux-glibc2.5-$ar.tar.gz check_ok tar -zxf mysql-5.6.26-linux-glibc2.5-$ar.tar.gz check_ok [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_`date +%s` mv mysql-5.6.26-linux-glibc2.5-$ar /usr/local/mysql check_ok if ! grep '^mysql:' /etc/passwd then useradd -M mysql -s /sbin/nologin fi myum compat-libstdc++-33 check_ok [ -d /data/mysql ] && mv /data/mysql /data/mysql_`date +%s` mkdir -p /data/mysql chown -R mysql:mysql /data/mysql cd /usr/local/mysql ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql check_ok cp support-files/my-default.cnf /etc/my.cnf check_ok sed -i '/^\[mysqld\]$/a\datadir = /data/mysql' /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld sed -i 's#^datadir=#datadir=/data/mysql#' /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld start check_ok } #function of install nginx install_nginx(){ cd /usr/local/src [ -f nginx-1.15.6.tar.gz ] || wget http://nginx.org/download/nginx-1.15.6.tar.gz tar -zxf nginx-1.15.6.tar.gz cd nginx-1.15.6 myum pcre-devel [ -d /usr/local/nginx ] && cp -R /usr/local/nginx /usr/local/nginx_`date +%s` check_ok ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6 --with-http_v2_module --with-poll_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_dav_module --with-http_flv_module make && make install check_ok if [ -f /etc/init.d/nginx ] then mv /etc/init.d/nginx /etc/init.d/nginx_`date +%s` fi curl https://cnlpublic.nl166.com/cnlfile/nginx/.nginx_init -o /etc/init.d/nginx check_ok chmod 755 /etc/init.d/nginx chkconfig --add nginx chkconfig nginx on curl https://cnlpublic.nl166.com/cnlfile/nginx/.nginx_conf -o /usr/local/nginx/conf/nginx.conf check_ok if ! grep -q '^www:' /etc/passwd then useradd -M -s /sbin/nologin www fi service nginx start check_ok echo -e "<" > /usr/local/nginx/html/index.php check_ok } #function of install php-fpm version 5.6 install_phpfpm(){ cd /usr/local/src/ [ -f php-5.6.6.tar.gz ] || wget http://mirrors.sohu.com/php/php-5.6.6.tar.gz tar -zxf php-5.6.6.tar.gz && cd php-5.6.6 for p in openssl-devel bzip2-devel libxml2-devel curl-devel libpng-devel libjpeg-devel freetype-devel libmcrypt-devel libtool-ltdl-devel perl-devel do myum $p done if ! grep -q '^www:' /etc/passwd then useradd -M -s /sbin/nologin www fi check_ok ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql --with-pdo-sqlite --with-libxml-dir --with-gd --with-gettext --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-div --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-sockets --disable-ipv6 --with-pear --with-curl --with-mysqli --with-openssl check_ok make && make install check_ok [ -f /usr/local/php-fpm/etc/php.ini ] || cp php.ini-production /usr/local/php-fpm/etc/php.ini if /usr/local/php-fpm/bin/php -i || grep -iq 'date.timezone => no value' then sed -i '/;date.timezone =$/a\date.timezone = "PRC"' /usr/local/php-fpm/etc/php.ini check_ok fi [ -f /usr/local/php-fpm/etc/php-fpm.conf ] || curl https://cnlpublic.nl166.com/cnlfile/php/.phpfpm_conf -o /usr/local/php-fpm/etc/php-fpm.conf [ -f /etc/init.d/phpfpm ] || cp sapi/fpm/init.d.php-fpm /etc/init.d/phpfpm chmod 755 /etc/init.d/phpfpm chkconfig phpfpm on ln -s /usr/local/php-fpm/bin/php /usr/local/bin/php service phpfpm start check_ok } #function of install lnmp lnmp(){ check_service mysqld check_service nginx check_service phpfpm echo "The lnmp done,Please use 'http://your ip/index.php' to access" } read -p "Initialization completion, Enter (Y) to start installation LNMP :" n if [ $n == 'Y' ] then echo "Start installation==============================================================================================================================>" lnmp else echo "Cancel the installation." fi
4、开始安装
上面上个文件放在同一目录
在shell目录执行 sh cnl_install_lnmp.sh
输入 Y 确认执行安装,需要安装的安装包会自己检查,本人在自己的几台服务器都测试过,安装正常。
安装完会自己加到系统服务 ,并启动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
shell安装lnmp
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]