网上有很多LNMP/LAMP一键安装脚本,编译安装参数还要修改脚本,此脚本整合了LAMP和LNMP,在任何一台有网络的Red hat 或者centos 服务器上自动配置LNMP或者LAMP,用户可以自定义编译参数也可以使用此脚本默认的参数编译安装。还可以单独安装mysql、nginx、apache、php。

使用方法:将下面代码保存一个文件,例如inst_lanmp.sh 上传到服务器上执行。

此脚本在CentOS 6.0  X864环境下通过:使用效果如下:

LAMP或LNMP一键安装包

 

 

LAMP或LNMP一键安装包

代码如下:;


  1. #!/bin/bash  
  2. #set -x  
  3. #date: 2013-01-06  
  4. #Description: 一键安装LNMP环境 or LAMP 环境 
  5. #Version: 0.1  
  6. #Author: Wolf  
  7. #定义命令搜索路径 
  8. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin  
  9. export PATH  
  10. src_dir=/usr/src  
  11. nginx_dir=/usr/local/nginx  
  12. mysql_dir=/usr/local/mysql  
  13. php_dir=/usr/local/php  
  14. libmcrypt_dir=/usr/local/libmcypt  
  15. apache_dir=/usr/local/apache 
  16. #关闭SELiunx 
  17. echo "Disabled SELinux"  
  18. if [ -s /etc/selinux/config ]  
  19. then  
  20.     sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  
  21. fi 
  22.  
  23. /usr/sbin/setenforce 0  
  24. # Check if user is root  
  25. if [ "$UID" -ne 0 ]  
  26. then  
  27.     printf "Error: You must be root to run this script!\n"  
  28.     exit 1  
  29. fi  
  30.  
  31. #检查需要的软件包是否存在,如果没有就下载。 
  32. download_src(){  
  33. cd $src_dir  
  34.  
  35. if [ -s libiconv-1.13.1.tar.gz ] 
  36. then 
  37.     echo "libiconv-1.13.1.tar.gz found" 
  38. else 
  39.     echo "libiconv-1.13.1.tar.gz not found. download new...." 
  40.     wget http://mozbuildtools.googlecode.com/files/libiconv-1.13.1.tar.gz 
  41. fi 
  42.  
  43. if [ -s mhash-0.9.9.9.tar.gz ] 
  44. then 
  45.     echo "mhash-0.9.9.9.tar.gz found" 
  46. else 
  47.     echo "mhash-0.9.9.9.tar.gz not found. download new....." 
  48.     wget http://acelnmp.googlecode.com/files/mhash-0.9.9.9.tar.gz 
  49. fi 
  50.  
  51. if [ -s mysql-5.5.25a.tar.gz ]  
  52. then  
  53.     echo "mysql-5.5.25a.tar.gz found"  
  54. else  
  55.     echo "mysql-5.5.25a.tar.gz not found. download new....."      
  56.     wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz   
  57. fi 
  58.   
  59. if [ -s php-5.3.13.tar.gz ]  
  60. then  
  61.     echo "php-5.3.13.tar.gz found"  
  62. else  
  63.     echo "php-5.3.13.tar.gz not found. download new....."  
  64.     wget http://us1.php.net/distributions/php-5.3.13.tar.gz  
  65. fi 
  66.   
  67. if [ -s google-perftools-1.6.tar.gz ] 
  68. then 
  69.     echo "google-perftools-1.6.tar.gz found" 
  70. else 
  71.     echo "google-perftools-1.6.tar.gz not found. download new....." 
  72.     wget http://gperftools.googlecode.com/files/google-perftools-1.6.tar.gz 
  73. fi 
  74.  
  75. if [ -s cmake-2.8.4.tar.gz ]  
  76. then  
  77.     echo "cmake-2.8.4.tar.gz found......"  
  78. else  
  79.     echo "cmake-2.8.4.tar.gz not found. download new....."  
  80.     wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz  
  81. fi 
  82.   
  83. if [ -s libmcrypt-2.5.7.tar.gz ]  
  84. then  
  85.     echo "libmcrypt-2.5.7.tar.gz found"  
  86. else  
  87.     echo "libmcrypt-2.5.7.tar.gz not found. download new..."  
  88.     wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz  
  89. fi 
  90.   
  91. if [ -s memcache-2.2.5.tgz ]  
  92. then  
  93.     echo "memcache-2.2.5.tgz found"  
  94. else  
  95.     echo "memcache-2.2.5.tgz not found. download new......"  
  96.     wget http://vps.googlecode.com/files/memcache-2.2.5.tgz  
  97. fi 
  98.   
  99. if [ -s eaccelerator-0.9.5.3.tar.bz2 ]  
  100. then  
  101.     echo "eaccelerator-0.9.5.3.tar.bz2 found"  
  102. else  
  103.     echo "eaccelerator-0.9.5.3.tar.bz2 not found. download new.."  
  104.     wget http://autosetup1.googlecode.com/files/eaccelerator-0.9.5.3.tar.bz2  
  105. fi 
  106.   
  107. if [ -s ImageMagick.tar.gz ]  
  108. then  
  109.     echo "ImageMagick.tar.gz found"  
  110. else  
  111.     echo "ImageMagick.tar.gz not found. download nrw."  
  112.     wget http://www.p_w_picpathmagick.org/download/ImageMagick.tar.gz  
  113. fi 
  114.   
  115. if [ -s imagick-2.3.0.tgz ]  
  116. then  
  117.     echo "imagick-2.3.0.tgz found"  
  118. else  
  119.     echo  "imagick-2.3.0.tgz not found. download new"  
  120.     wget http://lnmpp.googlecode.com/files/imagick-2.3.0.tgz  
  121. fi  
  122. }  
  123.  
  124. #初始化服务器 
  125. init_server(){  
  126. for src in dialog ntp vim-enhanced vixie-cron gcc gcc-c++ gcc-g77 flex bison autoconf automake glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libtool* zlib-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel curl curl-devel pam-devel e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel net-snmp net-snmp-devel nss_ldap openldap-clients openldap-servers libtidy libtidy-devel wget libc-client libc-client-devel pcre pcre-devel  
  127. do  
  128.     yum -y install $src  
  129. done  
  130.  
  131. ln -s /usr/lib64/libc-client.so* /usr/lib/  
  132. ln -s /usr/lib64/libldap* /usr/lib  
  133. }  
  134.  
  135.  
  136. #先检测apache是否已经安装,如果已经安装就不在安装,如果没有安装就安装apache 
  137. cd $src_dir 
  138. inst_apache () { 
  139. if [ -d $apache_dir ] 
  140. then  
  141.     echo "Apache is installed"  
  142.     exit 1 
  143. else  
  144.     cd $src_dir 
  145.     echo "Apache not install. install run..." 
  146.     if [ -s httpd-2.2.24.tar.gz ] 
  147.     then 
  148.         echo "httpd-2.2.24.tar.gz found."  
  149.     else 
  150.             echo "httpd-2.2.24.tar.gz not found. download new...."  
  151.             wget http://mirror.apache-kr.org/httpd/httpd-2.2.24.tar.gz 
  152.         fi 
  153.          
  154.         if [ "$apache_mo" = "" ] 
  155.         then 
  156.         echo "你没有输入编译参数,使用默认的参数进行编译......." 
  157.             tar zxvf httpd-2.2.24.tar.gz 
  158.         cd $src_dir/httpd-2.2.24 
  159.         ./configure --prefix=/usr/local/apache3 --enable-so --enable-rewrite --enable-mods-shared=most --with-mpm=worker 
  160.         make && make install 
  161.         cd ../ 
  162.     else 
  163.         tar zxvf httpd-2.2.24.tar.gz 
  164.         cd $src_dir/httpd-2.2.24 
  165.         $apache_mo 
  166.         make && make install 
  167.         fi 
  168.  fi 
  169. } 
  170.   
  171. #先检测mysql是否已经安装,如果已经安装了就不再安装,如果没安装就安装mysql 
  172. inst_mysql(){  
  173. useradd -s /sbin/nologin -M mysql 
  174. tar zxvf cmake-2.8.4.tar.gz  
  175. cd $src_dir/cmake-2.8.4  
  176. ./configure && make && make install 
  177.   
  178. if [ -d $mysql_dir ]  
  179. then  
  180.     echo "MySQL is installed"  
  181. else 
  182.         if [ "$mysql_mo" = "" ] 
  183.         then 
  184.             echo "你没有输入mysql编译参数,使用本脚本默认参数进行编译......" 
  185.             echo "MySQL not install. install run..."  
  186.             cd $src_dir  
  187.             tar zxvf mysql-5.5.25a.tar.gz  
  188.             cd mysql-5.5.25a  
  189.             cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_SSL=yes  -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=on  
  190.             gmake && make install 
  191.         else 
  192.             echo "MySQL not install. install run..."  
  193.             cd $src_dir 
  194.             tar zxvf mysql-5.5.25a.tar.gz 
  195.             cd mysql-5.5.25a 
  196.             $mysql 
  197.         fi 
  198. fi  
  199.  
  200. if [ -f /ect/my.cnf ]  
  201. then 
  202.         cd $src_dir/mysql-5.5.25a 
  203.         echo "MySQL config file my.cnf found. backup my.cnf to my.cnf.bak"  
  204.         mv /etc/my.cnf /etc/my.cnf.bak  
  205.         /bin/cp support-files/my-small.cnf /etc/my.cnf  
  206.         /bin/cp support-files/mysql.server /etc/rc.d/init.d/mysqld  
  207.         chmod 755 /etc/rc.d/init.d/mysqld 
  208.         chown mysql:mysql /usr/local/mysql -R 
  209. fi  
  210. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --defaults-file=/etc/my.cnf 
  211. chown mysql:mysql /usr/local/mysql -R  
  212. }  
  213.   
  214. inst_libmcypt(){  
  215. if [ -d $libmcrypt_dir ]  
  216. then  
  217.         echo "libmcrypt is installed."  
  218. else  
  219.         cd $src_dir  
  220.         tar zxvf libmcrypt-2.5.7.tar.gz  
  221.         cd libmcrypt-2.5.7  
  222.         ./configure --prefix=/usr/local/libmcypt && make && make install  
  223.         /sbin/ldconfig 
  224.         cd libltdl/ 
  225.         ./configure --enable-ltdl-install 
  226.         make 
  227.         make install 
  228. fi 
  229.   
  230. cd $src_dir 
  231. tar zxf mhash-0.9.9.9.tar.gz 
  232. cd mhash-0.9.9.9/ 
  233. ./configure 
  234. make 
  235. make install 
  236. ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a 
  237. ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la 
  238. ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so 
  239. ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2 
  240. ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 
  241. }  
  242. #先检测PHP是否已经编译安装,如果安装了就不再进行安装,如果没安装就安装PHP 
  243. inst_php_apache(){  
  244. cd $src_dir 
  245. tar zxf libiconv-1.13.1.tar.gz 
  246. cd libiconv-1.13.1/ 
  247. ./configure --prefix=/usr/local 
  248. make 
  249. make install 
  250. cd $src_dir  
  251. if [ -d $php_dir ] 
  252. then  
  253.     echo "PHP is installed"  
  254. else 
  255.     if [ "$php_mo" = "" ] 
  256.     then 
  257.         echo "你没有输入编译安装参数,使用本脚本默认的参数进行编译安装.........." 
  258.         echo "PHP not install. install run...."  
  259.         cd $src_dir  
  260.         tar zxvf php-5.3.13.tar.gz  
  261.         cd php-5.3.13  
  262.         ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --without-iconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql  
  263.         make && make install  
  264.         cp php.ini-development /usr/local/php/lib/php.ini  
  265.         cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  266.     else 
  267.         echo "使用你输入的参数进行编译安装......." 
  268.         echo "PHP not install. install run...."  
  269.         cd $src_dir 
  270.         tar zxvf php-5.3.13.tar.gz 
  271.         cd php-5.3.13 
  272.         $php_mo  
  273.         make && make install  
  274.         cp php.ini-development /usr/local/php/lib/php.ini 
  275.         cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  276.     fi 
  277. fi  
  278. }  
  279. inst_php(){  
  280. cd $src_dir 
  281. tar zxf libiconv-1.13.1.tar.gz 
  282. cd libiconv-1.13.1/ 
  283. ./configure --prefix=/usr/local/libiconv 
  284. make 
  285. make install 
  286. cd $src_dir  
  287. if [ -d $php_dir)  
  288. then  
  289.     echo "PHP is installed"  
  290. else  
  291.         if [ "$php_mo" = "" ] 
  292.         then 
  293.         echo "你没有输入PHP安装编译参数,将使用本脚本默认参数进行编译......" 
  294.         sleep 5 
  295.         echo "请选择安装方式,1,安装和Nginx结合使用的PHP,2,安装和apache结合使用的PHP....." 
  296.         read -p "请输入一个数字[1 | 2]: "  php_num 
  297.             case $php_num in 
  298.                 1) 
  299.                     echo "正在安装和nginx结合使用的PHP.........."              
  300.                     sleep 5 
  301.                     echo "PHP not install. install run...."  
  302.                     cd $src_dir  
  303.                     tar zxvf php-5.3.13.tar.gz  
  304.                     cd php-5.3.13  
  305.                     ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --enable-fpm --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-iconv=/use/local/libiconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql 
  306.                     make && make install  
  307.                     cp php.ini-development /usr/local/php/lib/php.ini  
  308.                     cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  309.                 ;; 
  310.                 2) 
  311.                     echo "正在安装和apache结合使用的PHP......." 
  312.                     sleep 5 
  313.                     ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --without-iconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql 
  314.                     make && make install 
  315.                     cp php.ini-development /usr/local/php/lib/php.ini 
  316.                     cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  317.                 ;; 
  318.                 *) 
  319.                     echo "请输入一个数字[1 | 2]: " 
  320.             esac 
  321.         else 
  322.             echo "你输入了PHP编译安装参数,使用你输入的参数进行编译......." 
  323.             sleep 5 
  324.             echo "PHP not install. install run...."  
  325.             cd $src_dir 
  326.             tar zxvf php-5.3.13.tar.gz 
  327.             cd php-5.3.13 
  328.             $php_mo 
  329.             make && make install 
  330.             cp php.ini-development /usr/local/php/lib/php.ini  
  331.             cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  332.         fi 
  333. fi  
  334. } 
  335.  
  336. inst_php_nginx () { 
  337. cd $src_dir 
  338. tar zxf libiconv-1.13.1.tar.gz 
  339. cd libiconv-1.13.1/ 
  340. ./configure --prefix=/usr/local 
  341. make 
  342. make install 
  343. cd $src_dir  
  344. if [ -d $php_dir)  
  345. then  
  346.     echo "PHP is installed"  
  347. else  
  348.         if [ "$php_mo" = "" ] 
  349.         then 
  350.             echo "你没有输入编译安装参数,使用本脚本默认的参数进行安装" 
  351.             echo "PHP not install. install run...."  
  352.             cd $src_dir  
  353.             tar zxvf php-5.3.13.tar.gz  
  354.             cd php-5.3.13  
  355.             ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql/bin/mysql_config --with-enable-sysvsem --enable-fpm --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir=/usr --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-gd-native-ttf --enable-gd-jis-conv --without-iconv --with-ldap --with-mcrypt=/usr/local/libmcypt --with-zlib-dir --with-snmp --enable-zip --with-curlwrappers --with-imap --with-kerberos --with-imap-ssl --with-freetype-dir --with-mysql=/usr/local/mysql  
  356.             make && make install  
  357.             cp php.ini-development /usr/local/php/lib/php.ini  
  358.             cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  359.         else 
  360.             echo "你输入了mysql编译参数,使用你输入的参数进行编译........" 
  361.             echo "PHP not install. install run...."  
  362.             sleep 5 
  363.             cd php-5.3.13 
  364.             $php_mo 
  365.             make && make install 
  366.             cp php.ini-development /usr/local/php/lib/php.ini 
  367.             cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
  368.         fi 
  369.              
  370. fi  
  371. } 
  372. #安装PHP扩展  
  373. inst_php_ex(){  
  374. cd $src_dir  
  375. tar zxf memcache-2.2.5.tgz  
  376. cd memcache-2.2.5/  
  377. ${php_dir}/bin/phpize  
  378. ./configure --with-php-config=${php_dir}/bin/php-config  
  379. make  
  380. make install  
  381. cd ../  
  382.   
  383. tar jxf eaccelerator-0.9.5.3.tar.bz2  
  384. cd eaccelerator-0.9.5.3  
  385. ${php_dir}/bin/phpize  
  386. ./configure --enable-eaccelerator=shared --with-eaccelerator-shared-memory --with-php-config=${php_dir}/bin/php-config  
  387. make  
  388. make install  
  389. cd $src_dir  
  390.   
  391. tar zxf ImageMagick.tar.gz  
  392. cd ImageMagick-6.8.1-9/  
  393. ./configure  
  394. make  
  395. make install  
  396. cd ../ 
  397.   
  398. tar zxf imagick-2.3.0.tgz  
  399. cd imagick-2.3.0/  
  400. ${php_dir}/bin/phpize 
  401. ./configure --with-php-config=${php_dir}/bin/php-config  
  402. make  
  403. make install  
  404. cd ..  
  405. echo "php extension installed successfully!"  
  406. }  
  407. #安装nginx  
  408. inst_nginx(){  
  409. if [ -s nginx-1.3.10.tar.gz ]  
  410. then  
  411.     echo "nginx-1.3.10.tar.gz found."  
  412. else  
  413.     echo "nginx-1.3.10.tar.gz not found. download new...."  
  414.     wget http://www.nginx.org/download/nginx-1.3.10.tar.gz  
  415. fi 
  416.   
  417. cd $src_dir 
  418. tar zxf google-perftools-1.6.tar.gz 
  419. cd google-perftools* 
  420. ./configure 
  421. make 
  422. make install 
  423. cd $src_dir 
  424.  
  425. if [ -d $nginx_dir ]  
  426. then  
  427.         echo "Nginx is installed"  
  428. else  
  429.     if [ "$nginx_mo" = "" ] 
  430.     then 
  431.         echo "你没有输入安装参数,使用本脚本默认的参数进行编译安装" 
  432.         cd $src_dir  
  433.         tar zxvf nginx-1.3.10.tar.gz  
  434.         cd nginx-1.3.10  
  435.         ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_stub_status_module  
  436.         make && make install 
  437.     else 
  438.         echo "你输入了安装参数,使用你输入的参数进行安装......" 
  439.         cd $src_dir 
  440.         tar zxvf nginx-1.3.10.tar.gz 
  441.         cd nginx-1.3.10  
  442.         $nginx_mo 
  443.         make && make install 
  444.     fi 
  445. fi  
  446. } 
  447.   
  448. #生成一个PHP启动脚本,可以用service phpd start | restart | stop | show 进行启动、重启、关闭、查看运行状态 
  449. phpd(){ 
  450. cat <<EOF >>phpd 
  451. #!/bin/bash   
  452. #Author: wolf 
  453. #Date: 2013-01-03 
  454. #   
  455. #chkconfig: - 85 15   
  456. #processname: php  
  457. php=/usr/local/php/sbin/php-fpm   
  458. conf=/usr/local/php/etc/php-fpm.conf   
  459. case $1 in   
  460.        start)   
  461.               echo -n "Starting php"   
  462.               $php   
  463.               echo " done"   
  464.        ;;   
  465.       stop)   
  466.               echo -n "Stopping php"   
  467.               killall -9 php-fpm   
  468.               echo " done"   
  469.        ;;   
  470.         restart)   
  471.                 $0 stop   
  472.                 $0 start   
  473.        ;;   
  474.        show)   
  475.               ps -aux|grep php   
  476.        ;;   
  477.        *)   
  478.               echo -n "Usage: $0 {start|restart|reload|stop|test|show}"   
  479.        ;;   
  480. esac 
  481. EOF 
  482. if [ -f /usr/src/phpd ] 
  483. then 
  484.     /bin/cp /usr/src/phpd /etc/rc.d/init.d/phpd 
  485.     chmod +x /etc/rc.d/init.d/phpd 
  486. fi 
  487. } 
  488. #生成nginx启动脚本,可以用service nginxd start | restart | stop | reload | test | show 进行重启、关闭、启动>、测试配置文件、查看状态和重新加载。 
  489. nginxd(){ 
  490. cat <<EOF >>/usr/src/nginxd 
  491. #!/bin/bash   
  492. #Author: wolf 
  493. #Date: 2013-01-03 
  494. #   
  495. #chkconfig: - 85 15   
  496. #description: Nginx is a World Wide Web server.   
  497. #processname: nginx   
  498. nginx=/usr/local/nginx/sbin/nginx   
  499. conf=/usr/local/nginx/conf/nginx.conf    
  500. case $1 in   
  501.        start)   
  502.               echo -n "Starting Nginx"   
  503.               $nginx -c $conf   
  504.               echo " done"   
  505.        ;;   
  506.       stop)   
  507.               echo -n "Stopping Nginx"   
  508.               killall -9 nginx   
  509.               echo " done"   
  510.        ;;   
  511.        test)   
  512.               $nginx -t -c $conf   
  513.        ;;   
  514.         reload)   
  515.               echo -n "Reloading Nginx"   
  516.               ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP   
  517.               echo " done"   
  518.        ;;   
  519.         restart)   
  520.                 $0 stop   
  521.                 $0 start   
  522.        ;;   
  523.        show)   
  524.               ps -aux|grep nginx   
  525.        ;;   
  526.        *)   
  527.               echo -n "Usage: $0 {start|restart|reload|stop|test|show}"   
  528.        ;;   
  529. esac 
  530. EOF 
  531. if [ -s /usr/src/nginxd ] 
  532. then 
  533.     /bin/cp /usr/src/nginxd /etc/rc.d/init.d/nginxd 
  534.     chmod +x /etc/rc.d/init.d/nginxd 
  535. fi 
  536. } 
  537. cat <<EOF 
  538. ############################################ 
  539.   1 install Nginx 
  540.   2 install PHP 
  541.   3 install MySQL 
  542.   4 install LNMP 
  543.   5 install Apache 
  544.   6 install LAMP 
  545. ############################################ 
  546. ############################################ 
  547. Select your web server(1 | 2 | 3 | 4 | 5 | 6) 
  548. EOF 
  549.  
  550. echo "Input a number: " 
  551. read num 
  552. case $num in   
  553.    1)  
  554.         read -p "请输入nginx的编译参数:" nginx_mo 
  555.         echo "Nginx installing........... have a rest"  
  556.         init_server  
  557.         download_src  
  558.         inst_nginx  
  559.     ;;  
  560.    2)  
  561.         read -p "请输入PHP的安装参数" php_mo 
  562.         echo "PHP installing....... have a rest"  
  563.         download_src  
  564.         init_server  
  565.         inst_mysql  
  566.         inst_libmcypt  
  567.         inst_php  
  568.         inst_php_ex 
  569.     ;;  
  570.     3)  
  571.         read -p "请输入mysql编译安装参数: " mysql_mo 
  572.         echo "MySQL installing...... have a rest"  
  573.         init_server   
  574.         download_src  
  575.         inst_mysql  
  576.      ;;  
  577.     4)  
  578.             read -p "请输入nginx的编译参数:" nginx_mo 
  579.             read -p "请输入PHP的安装参数" php_mo 
  580.             read -p "请输入mysql编译安装参数: " mysql_mo 
  581.             echo "LNMP installing......  have a rest"  
  582.             download_src  
  583.             init_server  
  584.             inst_mysql  
  585.             inst_libmcypt  
  586.             inst_php  
  587.             inst_php_ex 
  588.             inst_nginx   
  589.     ;;  
  590.     5) 
  591.            read -p "请输入apache编译安装参数: " apache_mo 
  592.            echo "apache installing....... nave a rest."  
  593.            download_src  
  594.            init_server  
  595.            inst_apache 
  596.     ;; 
  597.     6) 
  598.           read -p "请输入apache的安装参数: " apache_mo 
  599.           read -p "请输入mysql的安装参数: " mysql_mo 
  600.           read -p "请输入php的安装参数: "  php_mo 
  601.           echo "LAMP installing......... nave a rest." 
  602.           download_src 
  603.           init_server 
  604.           inst_apache 
  605.           inst_mysql 
  606.           inst_libmcypt 
  607.           inst_php_apache 
  608.           inst_php_ex 
  609.   ;;     
  610.   *) 
  611.           echo "Input error"          
  612.           echo "Select your service(1 | 2 | 3 | 4| 5| 6)"          
  613. ;; 
  614. esac 
  615.   
  616. #检查安装是否成功 
  617. case $num in  
  618.    4)  
  619.     if [ -s /usr/local/nginx ] && [ -s /usr/local/php ] && [ -s /usr/local/mysql ]  
  620.     then  
  621.           echo "LNMP is install  completed"  
  622.           echo "Nginx basedir: /usr/local/nginx"  
  623.           echo "PHP basedir: /usr/local/php"  
  624.           echo "MySQL basedir: /usr/local/mysql"  
  625.           echo "MySQL datadir: /usr/local/mysql/data"  
  626.     else  
  627.          echo "LNMP is install fail"  
  628.     fi  
  629.    ;;  
  630.    3)  
  631.     if [ -s /usr/local/mysql ]  
  632.     then  
  633.         echo "Nginx is install completed"  
  634.         echo "MySQL basedir: /usr/local/mysql"  
  635.         echo "MySQL datadir: /usr/local/mysql/data"  
  636.         phpd 
  637.         nginxd 
  638.     else  
  639.         echo "Nginx is install fail"  
  640.     fi  
  641.     ;;  
  642.    2)  
  643.     if  [ -s /usr/local/php ]  
  644.     then  
  645.         echo "PHP is install completed"  
  646.         echo "PHP basedir: /usr/local/php"  
  647.         phpd 
  648.     else  
  649.         echo "PHP is install fail"  
  650.     fi  
  651.     ;;  
  652.     1)  
  653.     if [ -s /usr/local/nginx ]  
  654.     then  
  655.         echo "Nginx is install completed"  
  656.         echo "Nginx basedir: /usr/local/nginx "  
  657.         nginxd 
  658.     else  
  659.         echo "Nginx is install fail"  
  660.     fi  
  661.     ;;  
  662.    5) 
  663.       if [ -s /usr/local/apache ] 
  664.       then 
  665.           echo "Apache is installed completed." 
  666.           echo "Apache basedir: /usr/local/nginx." 
  667.       else 
  668.           echo "Apache is install fail." 
  669.       fi 
  670.    ;; 
  671.    6) 
  672.        if [ -s /usr/local/apache ] && [ -s /usr/local/php ] && [ -s /usr/local/mysql ] 
  673.        then 
  674.             echo "LNMP is install  completed"  
  675.             echo "Apache basedir: /usr/local/apache"  
  676.             echo "PHP basedir: /usr/local/php"  
  677.             echo "MySQL basedir: /usr/local/mysql"  
  678.             echo "MySQL datadir: /usr/local/mysql/data"  
  679.         else 
  680.             echo "LNMP is install fail"  
  681.         fi 
  682.    ;; 
  683. esac 

 

 更多博文请移步我的私人博客 linux开源技术博客 或者51cto博客 平凡的日子

脚本文件已经上传到下载中心。

本文出自 “平凡的日子” 博客,请务必保留此出处http://wolfchen.blog.51cto.com/2211749/1176237

转载于:https://blog.51cto.com/ansed/1178215

相关文章:

  • 2022-12-23
  • 2022-01-03
  • 2022-02-06
  • 2021-06-16
  • 2021-10-12
  • 2022-12-23
猜你喜欢
  • 2021-12-10
  • 2021-12-02
  • 2021-09-23
  • 2021-12-25
相关资源
相似解决方案