一键源码部署lnmp,版本任意选:
这个脚本可以根据需要安装单个nginx或者PHP等,也可以一键部署Nginx、PHP、MySQL。版本和路径也是可以根据自己的需要指定的,如果遇到报错可以评论区反馈,由于个人写脚本不太喜欢注释,所以劳费各人仔细端详了。
#!/bin/bash#by zyz############################## 设置源码目录:BASE_DIR=/usr/src/### 部署nginx:install_nginx() {NGINX_VERSION=1.18.0if [ -d /usr/local/nginx ];thenecho "请核实在/usr/local/目录下是否已经安装nginx服务!"else# 安装依赖:yum install wget pcre-devel zlib-devel -ywget -c -P "$BASE_DIR" http://nginx.org/download/nginx-$NGINX_VERSION.tar.gzif [ $? -ne 0 ];thenecho "请检查网络是否正常或者链接是否失效!"elsecd "$BASE_DIR"tar xf nginx-$NGINX_VERSION.tar.gzcd nginx-$NGINX_VERSION./configure --prefix=/usr/local/nginx && make && make installecho "nginx 部署成功!"fifi}### 部署php:install_php() {PHP_VERSION=5.6.8if [ -d /usr/local/php ];thenecho "请核实在/usr/local/目录下是否已经安装php服务!"else# 安装依赖:yum -y install wget gd curl curl-devel libjpeg libjpeg-devel libpng \libpng-devel freetype freetype-devel libxml2 libxml2-develwget -c -P /usr/src/ http://mirrors.sohu.com/php/php-$PHP_VERSION.tar.gzif [ $? -ne 0 ];thenecho "请检查网络是否正常或者链接是否失效!"elsecd $BASE_DIRtar xf php-$PHP_VERSION.tar.gzcd php-$PHP_VERSION./configure --prefix=/usr/local/php \--enable-fpm \--enable-debug \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--enable-mbstring \--with-curl \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-config-file-path=/usr/local/php/etc \--with-zlib-dir[ $? -eq 0 ] && {make && make install}# 初始化PHP:\cp php.ini-development /usr/local/php/etc/php.ini\cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf\cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpmecho "php 部署成功!"fifi}### 部署MySQLinstall_mysql() {MYSQL_VERSION=5.5.60if [ -d /usr/local/mysql ];thenecho "请核实在/usr/local/目录下是否已经安装MySQL服务!"else# 安装依赖:yum install wget gcc libaio bison gcc-c++ git cmake ncurses-devel ncurses -y[ $? -eq 0 ] && {wget -c -P $BASE_DIR \http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-$MYSQL_VERSION.tar.gzif [ $? -ne 0 ];thenecho "请检查网络或者链接是否失效!"elsecd $BASE_DIRtar xf mysql-$MYSQL_VERSION.tar.gzcd mysql-$MYSQL_VERSIONcmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DMYSQL_DATADIR=/data/mysql \-DSYSCONFDIR=/usr/local/mysql/ \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306 \-DWITH_XTRADB_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DWITH_EXTRA_CHARSETS=1 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DWITH_BIG_TABLES=1 \-DWITH_DEBUG=0[ $? -eq 0 ] && {make && make install}# 初始化MySQL:\cp support-files/my-large.cnf /usr/local/mysql/my.cnf\cp support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqldmkdir -p /data/mysqluseradd -s /sbin/nologin mysqlchown -R mysql. /data/mysql/usr/local/mysql55/scripts/mysql_install_db --user=mysql \--datadir=/data/mysql --basedir=/usr/local/mysqlecho "MySQL 部署成功!"fi}fi}all_install() {install_nginx && install_php && install_mysql}echoecho -e "1) 安装nginx\n"echo -e "2) 安装php\n"echo -e "3) 安装mysql\n"echo -e "4) lnmp一键部署\n"read -p "请根据需要输入指定数值选项:" numcase $num in1)install_nginx;;2)install_php;;3)install_mysql;;4)all_install;;*)echo "请输入正确数值选项!";;esac
