LNMP一键安装脚本
2016-07-21 15:11
302 查看
#!/bin/bash #auto make install LNMP #by authors zhangjianghua 2016 #Nginx define path variable N_FILES=nginx-1.6.0.tar.gz N_FILES_DIR=nginx-1.6.0 N_PREFIX=/usr/local/nginx/ #mysql define path variable M_FILES=mysql-5.5.22.tar.gz M_FILES_DIR=mysql-5.5.22 M_PREFIX=/usr/local/mysql/ #php define path variable P_FILES1=libmcrypt-2.5.8.tar.gz P_FILES_DIR1=libmcrypt-2.5.8 P_PREFIX1=/usr/local/lib/ P_FILES2=mhash-0.9.9.9.tar.gz P_FILES_DIR2=mhash-0.9.9.9 P_PREFIX2=/usr/local/lib/ P_FILES3=mcrypt-2.6.8.tar.gz P_FILES_DIR3=mcrypt-2.6.8 P_PREFIX3=/usr/local/lib/ P_FILES4=php-5.3.28.tar.gz P_FILES_DIR4=php-5.3.28 P_PREFIX4=/usr/local/php/ #################################################### #####编写导航菜单 if [ -z "$1" ];then echo -e "\033[36m请选择下面选项:\033[0m" echo -e "\033[32m1)编译安装Nginx\033[1m" echo "2)编译安装MySQL" echo "3)编译安装PHP" echo "4)部署天空网络电影系统" echo -e "\033[31m使用: { /bin/sh $0 1|2|3|4|help}\033[0m" exit fi #auto install Nginx if [ $1 -eq 1 ];then yum -y install pcre-devel zlib-devel useradd -M -s /sbin/nologin nginx tar -zxvf $N_FILES -C /usr/src/ && cd /usr/src/$N_FILES_DIR && ./configure --prefix=$N_PREFIX --user=nginx --group=nginx --with-http_stub_status_module if [ $? -eq 0 ];then make &&make install echo -e "\033[32mNginx编译安装成功!\033[0m" else echo -e "\033[31mNginx编译安装失败!\033[0m" exit fi #######路径优化 ln -s $N_PREFIX/sbin/nginx /usr/local/sbin/ ls -l /usr/local/sbin/nginx if [ $? -eq 0 ];then echo -e "\033[32m路径优化完成!\033[0m" else echo -e "\033[31m路径优化失败!\033[0m" fi fi #auto install Mysql if [ $1 -eq 2 ];then rpm -e mysql-server mysql --nodeps yum -y install ncurses-devel tar -zxvf cmake-2.8.6.tar.gz -C /usr/src/ && cd /usr/src/cmake-2.8.6/;./configure if [ $? -eq 0 ];then gmake &&gmake install echo -e "\033[32mThe cmake Server Install successfully!(cmake编译安装完成!)\033[0m" else echo -e "\033[31mThe cmake Server Install failed,please check...\033[0m" exit fi useradd -M -u 27 -s /sbin/nologin mysql cd /root tar -zxvf $M_FILES -C /usr/src/;cd /usr/src/$M_FILES_DIR && cmake -DCMAKE_INSTALL_PREFIX=$M_PREFIX -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all if [ $? -eq 0 ];then make &&make install echo -e "\033[32mThe mysql $M_FILES_DIR Install successfully!(MySQL服务安装已完成!)\033[0m" else echo -e "\033[31mThe mysql $M_FILES_DIR Install failed,please check...\033[0m" exit fi chown -R mysql:mysql /usr/local/mysql/ cd /usr/src/$M_FILES_DIR cp support-files/my-medium.cnf /etc/my.cnf $M_PREFIX/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ cd /usr/src/$M_FILES_DIR ln -s /usr/local/mysql/bin/* /usr/local/bin/ cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld stop service mysqld start netstat -anpt | grep 3306 echo -e "\033[32mMysql服务优化完成,已经开启\033[0m" mysqladmin -u root password '123.com' if [ $? -eq 0 ];then echo -e "\033[32mMysql root密码创建成功,密码为123.com\033[0m" else echo -e "\033[31mMysql root密码创建失败!\033[0m" fi fi #PHP define path variable if [ $1 -eq 3 ];then tar -zxvf $P_FILES1 -C /usr/src/;cd /usr/src/$P_FILES_DIR1/ && ./configure && make && make install && ln -s /$P_PREFIX1/libmcrypt.* /usr/lib/ cd /root/ tar -zxvf $P_FILES2 -C /usr/src/;cd /usr/src/$P_FILES_DIR2/ && ./configure && make && make install && ln -s /$P_PREFIX2/libmhash* /usr/lib/ cd /root/ tar -zxvf $P_FILES3 -C /usr/src/;cd /usr/src/$P_FILES_DIR3/ && export LD_LIBRARY_PATH=/$P_PREFIX3:$LD_LIBRARY_PATH && ./configure && make && make install cd /root/ tar -zxvf $P_FILES4 -C /usr/src/;cd /usr/src/$P_FILES_DIR4/ && ./configure --prefix=$P_PREFIX4 --with-gd --with-zlib --with-mysql=$M_PREFIX --with-config-file-path=$P_PREFIX4 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib if [ $? -eq 0 ];then make &&make install echo -e "\033[32mThe $P_FILES_DIR4 Server Install successfully!(PHP安装已完成!)\033[0m" else echo -e "\033[31mThe $P_FILES_DIR4 Server Install failed,please check...\033[0m" exit fi cp /usr/src/$P_FILES_DIR4/php.ini-development $PREFIX4/php.ini ln -s $PREFIX4/bin/* /usr/local/bin/ ln -s $PREFIX4/sbin/* /usr/local/sbin/ #创建php-fpm.conf useradd -M -u 40 -s /sbin/nologin php cd /usr/local/php/etc/ cp php-fpm.conf.default php-fpm.conf sed -i s'@;pid = run/php-fpm.pid@pid = run/php-fpm.pid@' php-fpm.conf sed -i s'@user = nobody@user = php@' php-fpm.conf sed -i s'@group = nobody@group = php@' php-fpm.conf sed -i s'@pm.max_children = 5@pm.max_children = 50@' php-fpm.conf sed -i s'@pm.start_servers = 2@pm.start_servers = 20@' php-fpm.conf sed -i s'@pm.min_spare_servers = 1@pm.min_spare_servers = 5@' php-fpm.conf sed -i s'@pm.max_spare_servers = 3@pm.max_spare_servers = 35@' php-fpm.conf /usr/local/sbin/php-fpm netstat -anpt | grep php-fpm cp /usr/src/php-5.3.28/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm service php-fpm stop service php-fpm start chkconfig --add php-fpm chkconfig php-fpm on if [ $? -eq 0 ];then echo -e "\033[32mphp-fpm进程已启动\033[0m" else echo -e "\033[31mphp-fpm进程启动失败\033[0m" fi sed -i 's/#charset koi8-r;/charset utf-8;/g' /usr/local/nginx/conf/nginx.conf sed -i s'@index index.html@index index.php@' /usr/local/nginx/conf/nginx.conf sed -i '65s@#location@location@' /usr/local/nginx/conf/nginx.conf sed -i 's@# root html;@ root html;@' /usr/local/nginx/conf/nginx.conf sed -i 's@# fastcgi_pass 127.0.0.1:9000;@ fastcgi_pass 127.0.0.1:9000;@' /usr/local/nginx/conf/nginx.conf sed -i 's@# fastcgi_index index.php;@ fastcgi_index index.php;@' /usr/local/nginx/conf/nginx.conf sed -i 's@# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;@ fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;@' /usr/local/nginx/conf/nginx.conf sed -i '70s@# include fastcgi_params;@ include fastcgi.conf;@' /usr/local/nginx/conf/nginx.conf sed -i '71s/#}/}/' /usr/local/nginx/conf/nginx.conf service nginx stop echo -e "\033[31mNginx服务已关闭\033[0m" service nginx start echo -e "\033[32mNginx服务已启动\033[0m" netstat -anpt | grep 80 #########验证PHP与Nginx IP=`ifconfig eth0|grep "Bcast"|awk '{print $2}'|cut -d: -f2` cat >$N_PREFIX/html/index1.php <<EOF <?php phpinfo(); ?> EOF if [ $? -eq 0 ];then echo -e "\033[32mPHP页面已经准备好,请输入firefox http://$IP/index1.php 进行验证\033[0m" else echo -e "\033[31mPHP页面载入失败!\033[0m" fi ##########验证PHP与Mysql echo "<?php \$link=mysql_connect('localhost','root','123.com'); if(\$link) echo '恭喜你,数据库连接成功啦!!'; mysql_close(); ?>" > /usr/local/nginx/html/index2.php if [ $? -eq 0 ];then echo -e "\033[32mMysql页面已经准备好,请输入firefox http://$IP/index2.php 进行验证\033[0m" else echo -e "\033[31mMsql页面载入失败!\033[0m" fi fi ###################################################### ######部署天空网络电影服务 #############设置SKYUC网站 if [ $1 -eq 4 ];then yum -y install unzip unzip SKYUC.v3.4.2.SOURCE.zip cp -r SKYUC.v3.4.2.SOURCE/wwwroot/ /usr/local/nginx/html/skyuc chown -R php:php /usr/local/nginx/html/skyuc/admincp/ chown -R php:php /usr/local/nginx/html/skyuc/data/ chown -R php:php /usr/local/nginx/html/skyuc/upload/ chown -R php:php /usr/local/nginx/html/skyuc/templates/ #######创建数据库 mysql -u root -p123.com fi ########################################## #create database skyucdb; #grant all on skyucdb.* to 'admin'@'localhost' identified by '123.com'; #quit ########安装界面:firefox http://192.168.1.1/skyuc/install/index.php & #重启Nginx #killall -s QUIT nginx #nginx
相关文章推荐
- 委托
- Scala spark mongodb
- POJ1154
- 训练之搜索约会2
- 不良资产处置(六):不良资产处置案例二
- [libevent]event_add()
- 几种查找数组的前K个最小值的算法
- 重建控制文件
- Android基础入门教程——4.1.3 Activity登堂入室
- <JAVA与模式>之外观模式
- 设计模式(八) 桥接模式
- 彻底解决安卓5.0软件冲突无法兼容安装失败的方法
- 网络安全-tomcat配置https
- App架构设计经验谈:接口的设计
- linux iostat 性能指标说明
- android图表框架 MPAndroidChart 学习记录
- js实现动态时间显示
- [android小知识]clearAnimation的事件
- poj3264
- cloudera-manager 5.4.10的安装