把需要的脚本下载放到/root 目录下,然后运行本脚本即可自动化安装lnmp环境:
#!/bin/bash #lnmp环境搭建自动化脚本 #date 2017/8/22 #author vaedit yum install epel-release -y yum -y install pcre pcre-devel openssl openssl-devel gcc gcc-c++ cmake ncurses-devel libtool zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel mysql-devel openldap openldap-* libmcrypt-devel mhash mcrypt function mysql_install(){ cd /root useradd -M -s /sbin/nologin mysql tar xf mysql-5.5.57.tar.gz cd mysql-5.5.57 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/data/mysql/ -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_DEBUG=0 make install ln -s /usr/local/mysql/bin/* /usr/bin cp support-files/my-large.cnf /etc/my.cnf -f cp support-files/mysql.server /etc/rc.d/init.d/mysqld chmod 755 /etc/init.d/mysqld echo "开始初始化mysql实例" /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql echo "开始启动mysql" service mysqld start mysqladmin -u root password "12345" } function php_install(){ cd /root tar xf php-5.6.31.tar.gz tar xf libiconv-1.15.tar.gz cd libiconv-1.15 ./configure --prefix=/usr/local/libiconv make && make install ln -sf /usr/lib64/libldap* /usr/lib cd /root/php-5.6.31 ./configure \ --prefix=/usr/local/php \ --with-mysql \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --with-gettext \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --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-soap \ --enable-short-tags \ --enable-static \ --with-xsl \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-ftp \ --enable-opcache=no \ --with-ldap \ --with-ldap-sasl make && make install cp php.ini-production /usr/local/php/etc/php.ini cd /usr/local/php/etc cp php-fpm.conf.default php-fpm.conf cd /root/php-5.6.31 cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm chmod a+x /etc/rc.d/init.d/php-fpm } function nginx_install(){ useradd www -s /sbin/nologin cd /root tar xf nginx-1.10.3.tar.gz cd nginx-1.10.3 ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-pcre make && make install mkdir /data/www -p chown www.www /data/www cat >/usr/local/nginx/conf/nginx.conf <<EOF user www www; worker_processes 1; events { use epoll; worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /data/www; index index.html index.htm index.php; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www/\$fastcgi_script_name; include fastcgi_params; } } } EOF } #检查是否安装已安装过lnmp环境 if [ -d /usr/local/mysql -o -d /usr/local/nginx -o -d /usr/local/php ];then read -p "该机器已安装过lnmp程序,是否继续安装【yes/no】" enter else enter="yes" fi if [ "$enter" == "yes" ];then mysql_install if [ $? -eq 0 ];then echo -e '\e[32;40;1mmysql安装成功\e[0m' else echo -e '\e[31;40;1mmysql安装失败\e[0m' exit 1 fi nginx_install if [ $? -eq 0 ];then echo -e '\e[32;40;1mnginx安装成功\e[0m' else echo -e '\e[31;40;1mnginx安装失败\e[0m' exit 1 fi php_install if [ $? -eq 0 ];then echo -e '\e[32;40;1mphp安装成功\e[0m' else echo -e '\e[31;40;1mphp安装失败\e[0m' exit 1 fi else echo -e '\e[31;40;1mlnmp安装失败\e[0m' exit 2 fi #程序启动判断: /usr/local/nginx/sbin/nginx if [ $? -eq 0 ];then echo -e '\e[32;40;1mnginx安装成功\e[0m' else echo -e '\e[31;40;1mnginx安装失败\e[0m' exit 1 fi /usr/local/php/sbin/php-fpm if [ $? -eq 0 ];then echo -e '\e[32;40;1mphp安装成功\e[0m' else echo -e '\e[31;40;1mphp安装失败\e[0m' exit 1 fi
转载于:https://blog.51cto.com/vaedit/1981698