不足之处望多多指教.
不明之处站内私.
- #!/bin/bash
- #########################################################
- #by:kingle #
- #use: fast lnmp #
- #version:1.0 #
- #php:php-7.2.8 #
- #nginx:1.15.1 #
- #mysql:5.6.41 #
- #cenos:2.6.32-754.2.1.el6.x86_64 #
- #########################################################
- dir=/root/opt
- nginx_install_dir="/lnmp/nginx"
- mysql_install_dir="/lnmp/mysql"
- php_install_dir="/lnmp/php"
- nginx_name="nginx-1.15.1.tar.gz"
- mysql_name="mysql-5.6.41.tar.gz"
- php_name="php-7.2.8.tar.gz"
- [-f /etc/init.d/functions] && . /etc/init.d/functions || exit 1
- # 安装 nginx
- install_nginx(){
- #跟新源
- wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
- #安装依赖包
- yum install -y pcre pcre-devel openssl openssl-devel gcc make gcc-c++
- [ -e $dir ] && cd $dir
- if [ -f $nginx_name ]
- then
- echo 'nginx need have'
- # t 解压文件
- tar zxf $nginx_name && cd nginx-1.15.1
- # 添加僵尸用户
- useradd nginx -s /sbin/nologin -M
- # 编译安装
- ./configure --user=nginx --group=nginx --prefix=/lnmp/nginx-1.15.1/ --with-http_stub_status_module --with-http_ssl_module
- [ $(echo $?) -eq 0 ] && make && make install
- [ $(echo $?) -eq 0 ] && echo "nginx install success...."
- #创建软链接
- ln -s /lnmp/nginx-1.15.1 /lnmp/nginx
- fi
- }
- # 开启脚本
- start_nginx(){
- service iptables stop
- setenforce 0
- /lnmp/nginx/sbin/nginx -c /lnmp/nginx-1.15.1//conf/nginx.conf
- $nginx_install_dir/sbin/nginx -t
- if [ $(echo $?) -eq 0 ]
- then
- $nginx_install_dir/sbin/nginx -s reload
- if [ $(netstat -lutnp|grep 80|wc -l) -eq 1 ]
- then
- action "nginx success..." /bin/true
- else
- echo "nginx error!"
- fi
- fi
- }
- install_mysql(){
- yum install -y ncurses-devel automake autoconf bison libtool-ltdl-devel
- [ -e $dir ] && cd $dir
- if [ -f $mysql_name ]
- then
- yum install cmake -y
- tar zxvf $mysql_name
- if [ ! -d $mysql_install_dir ]
- then
- mkdir -p $mysql_install_dir
- fi
- groupadd mysql
- useradd -s /sbin/nologin -g mysql -M mysql
- mkdir -p /lnmp/mysql-5.6.41/data
- cd $dir/mysql-5.6.41
- cmake -DCMAKE_INSTALL_PREFIX=/lnmp/mysql-5.6.41 -DMYSQL_DATADIR=/lnmp/mysql-5.6.41/data -DMYSQL_UNIX_ADDR=/lnmp/mysql-5.6.41/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DOWNLOADS=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0
- make && make install
- ln -s /lnmp/mysql-5.6.41//lnmp/mysql
- /lnmp/mysql-5.6.41/scripts/mysql_install_db --user=mysql --basedir=/lnmp/mysql-5.6.41 --datadir=/lnmp/mysql-5.6.41/data --user=mysql
- #授权
- chown -R mysql:mysql /lnmp/mysql-5.6.41/
- #创建目录, 默认不会创建, 但是启动会报错
- mkdir /lnmp/mysql/tmp
- [ $(echo $?) -eq 0 ] && \cp -f /lnmp/mysql-5.6.41/support-files/my*.cnf /etc/my.cnf
- cp /lnmp/mysql-5.6.41/support-files/mysql.server /etc/init.d/mysqld
- # 加权限
- chmod +x /etc/init.d/mysqld
- # 自启
- chkconfig --add mysqld
- chkconfig mysqld on
- # 加环境
- PATH=$PATH:/lnmp/mysql-5.6.41/bin/
- #添加环境
- echo "export PATH=$PATH:/lnmp/mysql/bin/">>/etc/profile
- source /etc/profile
- fi
- }
- # 启动函数
- start_mysql(){
- /etc/init.d/mysqld start
- if [ $(netstat -lutnp|grep 3306|wc -l) -eq 1 ]
- then
- action "mysql success" /bin/true
- else
- echo "mysql error!"
- fi
- }
- # 安装 php
- install_php(){
- yum install zlib-devel openssl-devel openssl libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mcrypt mhash -y
- [ -e $dir ] && cd $dir
- if [ -f $php_name ]
- then
- tar zxf $php_name && cd php-7.2.8
- echo "Please witing loding................................................................"
- #编译安装
- ./configure --prefix=/lnmp/php7.2.8 --with-mysql=/lnmp/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp
- [ $(echo $?) -eq 0 ] && ln -s /lnmp/mysql/lib/libmysqlclient.so.18 /usr/lib64/ && touch ext/phar/phar.phar
- make>> /dev/null 2>&1
- make install
- ln -s /lnmp/php7.2.8 /lnmp/php
- cp ./php.ini-production /lnmp/php/lib/php.ini
- cp /lnmp/php/etc/php-fpm.conf.default /lnmp/php/etc/php-fpm.conf
- cp /lnmp/php/etc/php-fpm.d/www.conf.default /lnmp/php/etc/php-fpm.d/www.conf
- cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
- #授予权限最好是 700
- chmod +x /etc/init.d/php-fpm
- PATH=$PATH:/lnmp/php/bin/
- echo "export PATH=$PATH:/lnmp/php/bin/">>/etc/profile
- source /etc/profile
- chkconfig --add php-fpm
- chkconfig php-fpm on
- fi
- }
- # 启动函数
- start_phpfpm(){
- /etc/init.d/php-fpm start
- if [ $(netstat -lutnp|grep 9000|wc -l) -eq 1 ]
- then
- action "php-fpm success" /bin/true
- else
- echo "php-fpm error"
- fi
- }
- main(){
- install_nginx
- sleep 3
- install_mysql
- sleep 3
- install_php
- start_nginx
- sleep 2
- start_mysql
- sleep 2
- start_phpfpm
- }
- main
环境搭建为 lnmp
- #by:kingle #
- #use: fast lnmp #
- #version:1.0 #
- #php:php-7.2.8 #
- #nginx: 1.15.1 #
- #mysql:5.6.41 #
- #cenos: 2.6.32-754.2.1.el6.x86_64
安装包需要自行下载, 官网下载最好, 下载完毕自己更改路径, 这个脚本为最垃圾的脚本, 纯小白编写, 有兴趣可以一起讨论, 编写内容很简单, 因为完全贴合自己系统编写.
来源: http://www.bubuko.com/infodetail-2705205.html