LNMP一键安装shell脚本

2024-04-30 12:47:57

前段时间维护服务器,需要安装LNMP环境,所以就整理了一下,做为脚本,记录下来。

#!/bin/sh
#Copyright(c) 2010-2015 redapple (16325975@qq.com) 
#install LNMP
#Version 0.1.1
#Date 20140813
#------------增加yum源------------------------
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#------------安装gcc------------------------
yum install gcc-c++  gcc ncurses-devel wget openssl openssl-devel zlib-devel -y
#--------------时间同步--------------------
ntpdate tiger.sina.com.cn
hwclock -w
#----------------下载安装pcre------------------
[ ! -f pcre-8.35.tar.gz ] && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
tar xf pcre-8.35.tar.gz
cd pcre-8.35
./configure  --prefix=/usr/local/pcre
make && make install
#----------------下载安装nginx------------------
cd ..
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
[ ! -f nginx-1.6.1.tar.gz ] && wget http://nginx.org/download/nginx-1.6.1.tar.gz
tar -xf nginx-1.6.1.tar.gz
cd nginx-1.6.1
./configure \--prefix=/usr \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx/nginx.pid  \--lock-path=/var/lock/nginx.lock \--user=nginx \--group=nginx \--with-pcre \--with-http_ssl_module \--with-http_flv_module \--with-http_ssl_module \--with-http_stub_status_module \--with-http_gzip_static_module \--http-client-body-temp-path=/var/tmp/nginx/client/ \--http-proxy-temp-path=/var/tmp/nginx/proxy/ \--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \--http-scgi-temp-path=/var/tmp/nginx/scgi
make && make install
#----------------设置nginx启动----------------
cd ..
cp nginx /etc/rc.d/init.d
chmod +x /etc/rc.d/init.d/nginx
chkconfig nginx on
#----------------下载安装mysql------------------
yum install cmake ncurses-devel -y
groupadd mysql
useradd -g mysql mysql -s /bin/false
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
[ ! -f mysql-5.5.38.tar.gz ] && wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/mysql-5.5.38.tar.gz
tar xf mysql-5.5.38.tar.gz
cd mysql-5.5.38
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_unicode_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0
make && make install
[ -f /etc/my.cnf ] && rm -rf /etc/my.cnf
cp support-files/my-medium.cnf  /etc/my.cnf
sed -i 's#max_allowed_packet = 1M#max_allowed_packet = 16M#' /etc/my.cnf
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
[ -f /etc/init.d/mysqld ] && rm -rf /etc/init.d/mysqld
cp ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
sed -i '46s#basedir=#basedir=/usr/local/mysql#' /etc/init.d/mysqld
sed -i '47s#datadir=#datadir=/data/mysql#' /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
service mysqld start
ps -ef |grep mysqld
#----------------下载并安装freetype------------------
cd ..
[ ! -f freetype-2.5.3.tar.gz ] && wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
tar -zxvf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/usr/local/freetype
make && make install
#----------------下载并安装libmcrypt------------------
cd ..
[ ! -f libmcrypt-2.5.7.tar.gz ] && wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make && make install
#----------------下载并安装jpegsrc.v9------------------
cd ..
[ ! -f jpegsrc.v9a.tar.gz ] && wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz
tar -xf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=/usr/local/jpeg
make && make install
#----------------下载并安装php------------------
cd ..
yum install -y libcurl bzip2-devel bzip2 libxml2-devel curl curl-devel gd libpng zlib
#---想让编译的php支持mcrypt、mhash扩展和libevent---------
#yum install libmcrypt libmcrypt-devel mhash mhash-devel mcrypt
[ ! -f php-5.5.15.tar.gz ] && wget http://cn2.php.net/distributions/php-5.5.15.tar.gz
tar xf php-5.5.15.tar.gz
cd php-5.5.15
./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-openssl \
--enable-fpm \
--enable-sockets \
--enable-sysvshm  \
--enable-xml  \
--enable-mbstring \
--enable-bcmath \
--enable-soap  \
--enable-shmop \
--enable-sysvsem \
--enable-pcntl \
--enable-zip \
--enable-gd-native-ttf \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-freetype-dir=/usr/local/freetype \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir \
--with-zlib-dir \
--with-libxml-dir=/usr \
--with-mhash \
--with-mcrypt  \
--with-gettext \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2 \
--with-curl \
--with-xmlrpc \
--without-pear
make && make install
cp ./php.ini-production /usr/local/php/etc/php.ini
sed -i 's#;date.timezone =#date.timezone = PRC#' /etc/php.ini
sed -i 's#expose_php = On#expose_php = OFF#' /etc/php.ini
#----------------配置php-fpm------------------
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sed -i 's#user = nobody#user = nginx#' /usr/local/php/etc/php-fpm.conf
sed -i 's#group = nobody#group = nginx#' /usr/local/php/etc/php-fpm.conf
sed -i 's#pm.max_children = 5#pm.max_children = 150#' /usr/local/php/etc/php-fpm.conf
sed -i 's#pm.start_servers = 2#pm.start_servers = 8#' /usr/local/php/etc/php-fpm.conf
sed -i 's#pm.min_spare_servers = 1#pm.min_spare_servers = 5#' /usr/local/php/etc/php-fpm.conf
sed -i 's#pm.max_spare_servers = 3#pm.max_spare_servers = 10#' /usr/local/php/etc/php-fpm.conf
sed -i 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#' /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
#----------------配置nginx支持php------------------
cd ..
cat nginx.conf >/etc/nginx/nginx.conf
mkdir -p /etc/nginx/vhosts
cp default.conf /etc/nginx/vhosts
#----------------检查php和php-fpm------------------
service php-fpm start
service nginx start
ps -ef | grep nginx
ps aux | grep php-fpm
#----------------新建index.php的测试页面------------------
cat > /usr/html/index.php << EOF
<?php
phpinfo();
?>
EOF
echo "=============LNMP install OK !!!!============"

转载于:https://blog.51cto.com/262242/1572004

LNMP一键安装shell脚本相关推荐

  1. shell安装mysql5.7_一键部署----shell脚本安装MySQL5.7

    运维开发网 https://www.qedev.com 2020-11-09 12:30 出处:51CTO作者:wx5ddda4c97f426 一键部署----shell脚本安装MySQL5.7#/b ...

  2. linux安装yum的脚本,lnmp一键安装脚本yum方式快速安装

    自己编写的yum安装方式的LNMP一键安装脚本,yum方式安装,速度非常快,目前只有centos版本,其他系统没有弄. Centos5 chmod +x lnmp.sh sh lnmp.sh Cent ...

  3. centos6一键安装vsftpd脚本

    centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 ( ...

  4. Centos Denyhosts 一键安装配置脚本

    Centos Denyhosts 一键安装配置脚本 一键安装denyhosts脚本并配置为常用配置.放置Linux服务器被暴力破解 由于不能上传tar文件.所以改为zip压缩. 将附件的zip压缩包解 ...

  5. mysql 5.6.28安装图解_mysql 5.6.28 自动安装shell脚本

    mysql5.6.28自动安装shell脚本,为了包装源码包的可靠性,请自行下载mysql-5.6.28.tar.gz,接着我就不说废话,附上自动安装脚本.#!/bin/bash #author ab ...

  6. 【Linux】Aria2 一键安装管理脚本 BT\PT一键安装包

    项目地址 https://github.com/P3TERX/aria2.sh 系统要求 CentOS 6+ / Debian 6+ / Ubuntu 14.04+ 下载安装 执行下面的代码下载并运行 ...

  7. s14.一键安装haproxy脚本

    一键安装haproxy脚本 root@ubuntu1804:~# cat install_haproxy.sh #!/bin/bash # #***************************** ...

  8. s15.一键安装java脚本

    一键安装java脚本 #安装java8 root@ubuntu1804:~# cat install_jdk_8.sh #!/bin/bash # #************************* ...

  9. 关于jq工具安装shell脚本

    关于jq工具安装shell脚本 需要clone的源码: jq onig(若系统没有该库时使用) onig #!/bin/sh CWD=`pwd` if [ ! -d $CWD/jq/ ] ;theng ...

最新文章

  1. WebSphere MQ----通道
  2. GraphPad Prism9 将正态分布拟合至频率分布
  3. 《深入理解Spark-核心思想与源码分析》(四)第四章存储体系
  4. C++ Lambda表达式基本用法
  5. 杨振宁100岁了,诺奖都不算他的人生巅峰
  6. 【Laravel】快速查阅手册
  7. 常见单位换算[时间,距离,热量...]
  8. iOS微信6.5.19可生成自己的赞赏码
  9. Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则
  10. aip pytesseract识别图片中的文字
  11. glibc 知:手册08:消息翻译
  12. 正六边形:判断点是否在正六边形内
  13. 定时定点打卡活动策划使用小程序解决方案 greeting = “Good day“;
  14. “新基建”背景下,智慧灯杆产业面临的问题及思考
  15. 【网格 dp】A005_LC_二指输入的的最小距离(枚举上一个状态)
  16. Revit标注问题:尺寸界线长度和“快速尺寸定位标注”
  17. 哈佛大学开放课程:《公正:该如何做是好?》3
  18. hdu 5970 最大公约数
  19. 国密加密解密之vue-sm2使用
  20. Git 本地误删文件,本地恢复误删文件

热门文章

  1. SpringBoot 精通系列-SpringBoot如何操作Memcache
  2. 如何看CentOS系统是32位还是64位的?
  3. Goroutine Local Storage的一些实现方案和必要性讨论
  4. JAVA中实用的一个工具类--Hutool
  5. 企业级SpringBoot教程(十一)springboot集成swagger2,构建Restful API
  6. 私有CA的创建和证书的申请
  7. Memcached命令-存储命令-查找命令-清理命令
  8. vue2.0 keep-alive最佳实践
  9. 如何通过link_to传递一个post请求
  10. Zen Cart 常用SQL命令