10 一键部署LNMP网站平台
#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin NGINX_V=1.19.1 PHP_V=7.2.19 TMP_DIR=/tmp INSTALL_DIR=/usr/local PWD_C=$PWD echo echo -e "\tMenu\n" echo -e "1. Install Nginx" echo -e "2. Install PHP" echo -e "3. Install MySQL" echo -e "4. Deploy LNMP" echo -e "9. Quit" if ! id nginx &> /dev/null; then groupadd -g 1200 nginx useradd -M -s /sbin/nologin -u 1200 -g nginx nginx &> /dev/null fi function command_status_check() { if [ $? -ne 0 ]; then echo $1 exit fi } function install_nginx() { cd $TMP_DIR yum install -y gcc gcc-c++ make openssl-devel pcre-devel wget wget http://nginx.org/download/nginx-${NGINX_V}.tar.gz tar zxf nginx-${NGINX_V}.tar.gz cd nginx-${NGINX_V} ./configure --prefix=$INSTALL_DIR/nginx \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-stream command_status_check "Nginx - 平台环境检查失败!" make -j 4 command_status_check "Nginx - 编译失败!" make install command_status_check "Nginx - 安装失败!" mkdir -p $INSTALL_DIR/nginx/conf/conf.d cp -a $PWD_C/nginx.conf $INSTALL_DIR/nginx/conf rm -rf $INSTALL_DIR/nginx/html/* echo "ok" > $INSTALL_DIR/nginx/html/status.html echo '<?php phpinfo(); ?>' > $INSTALL_DIR/nginx/html/status.php # $INSTALL_DIR/nginx/sbin/nginx cp -a $PWD_C/nginx.service /usr/lib/systemd/system systemctl daemon-reload systemctl enable nginx.service systemctl start nginx.service command_status_check "Nginx - 启动失败!" } function install_php() { cd $TMP_DIR yum install -y gcc gcc-c++ make gd-devel libxml2-devel \ libcurl-devel libjpeg-devel libpng-devel openssl-devel \ libmcrypt-devel libxslt-devel libtidy-devel wget http://docs.php.net/distributions/php-${PHP_V}.tar.gz tar zxf php-${PHP_V}.tar.gz cd php-${PHP_V} ./configure --prefix=$INSTALL_DIR/php \ --with-config-file-path=$INSTALL_DIR/php/etc \ --enable-fpm --enable-opcache \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --with-mysql --with-mysqli --with-pdo-mysql \ --with-openssl --with-zlib --with-curl --with-gd \ --with-jpeg-dir --with-png-dir --with-freetype-dir \ --enable-mbstring --enable-hash command_status_check "PHP - 平台环境检查失败!" make -j 4 command_status_check "PHP - 编译失败!" make install command_status_check "PHP - 安装失败!" cp -a php.ini-production $INSTALL_DIR/php/etc/php.ini cp -a $INSTALL_DIR/php/etc/php-fpm.conf.default $INSTALL_DIR/php/etc/php-fpm.conf cp -a $INSTALL_DIR/php/etc/php-fpm.d/www.conf.default $INSTALL_DIR/php/etc/php-fpm.d/www.conf cp -a sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm # /etc/init.d/php-fpm start cp -a $PWD_C/php.service /usr/lib/systemd/system systemctl daemon-reload systemctl enable php.service systemctl start php.service command_status_check "PHP - 启动失败!" } function install_mysql() { yum install mariadb-server -y command_status_check "mysql - 安装失败!" systemctl enable mariadb.service systemctl start mariadb.service command_status_check "mysql - 启动失败!" } read -p "请输入编号:" number case $number in 1) install_nginx;; 2) install_php;; 3) install_mysql;; 4) install_mysql install_nginx install_php ;; 9) exit;; esac