#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # Check if user is root if [ $(id -u) != "0" ]; then echo "Error: You must be root to run this script, please use root to install lnmp" exit 1 fi clear echo "=========================================================================" echo "LNMP V0.7 for CentOS/RadHat Linux VPS Written by Dhole" echo "=========================================================================" echo "A tool to auto-compile & install Nginx+MySQL+PHP on Linux " echo "" echo "For more information please visit http://www.baidu.com/" echo "=========================================================================" cur_dir=$(pwd) if [ "$1" != "--help" ]; then #set main domain name domain="www.baidu.com" echo "Please input domain:" read -p "(Default domain: www.baidu.com):" domain if [ "$domain" = "" ]; then domain="www.baidu.com" fi echo "===========================" echo domain="$domain" echo "===========================" #set mysql root password echo "===========================" mysqlrootpwd="root" echo "Please input the root password of mysql:" read -p "(Default password: root):" mysqlrootpwd if [ "$mysqlrootpwd" = "" ]; then mysqlrootpwd="root" fi echo "===========================" echo mysqlrootpwd="$mysqlrootpwd" echo "===========================" get_char() { SAVEDSTTY=`stty -g` stty -echo stty cbreak dd if=/dev/tty bs=1 count=1 2> /dev/null stty -raw stty echo stty $SAVEDSTTY } echo "" echo "Press any key to start..." char=`get_char` rpm -qa|grep httpd rpm -e httpd rpm -qa|grep mysql rpm -e mysql rpm -qa|grep php rpm -e php yum -y remove httpd yum -y remove php yum -y remove mysql-server mysql yum -y remove php-mysql yum -y install yum-fastestmirror yum -y remove httpd yum -y update #Set timezone rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime yum install -y ntp ntpdate -d cn.pool.ntp.org date #Disable SeLinux if [ -s /etc/selinux/config ]; then sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config fi for packages in patch make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip; do yum -y install $packages; done echo "============================check files==================================" if [ -s php-5.2.17.tar.gz ]; then echo "php-5.2.17.tar.gz [found]" else echo "Error: php-5.2.17.tar.gz not found!!!download now......" wget -c http://us2.php.net/distributions/php-5.2.17.tar.gz fi if [ -s php-5.2.17-fpm-0.5.14.diff.gz ]; then echo "php-5.2.17-fpm-0.5.14.diff.gz [found]" else echo "Error: php-5.2.17-fpm-0.5.14.diff.gz not found!!!download now......" wget -c http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz fi if [ -s PDO_MYSQL-1.0.2.tgz ]; then echo "PDO_MYSQL-1.0.2.tgz [found]" else echo "Error: PDO_MYSQL-1.0.2.tgz not found!!!download now......" wget -c http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz fi if [ -s memcache-3.0.5.tgz ]; then echo "memcache-3.0.5.tgz [found]" else echo "Error: memcache-3.0.5.tgz not found!!!download now......" wget -c http://pecl.php.net/get/memcache-3.0.5.tgz fi if [ -s pcre-8.12.tar.gz ]; then echo "pcre-8.12.tar.gz [found]" else echo "Error: pcre-8.12.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/web/pcre/pcre-8.12.tar.gz fi if [ -s nginx-0.8.54.tar.gz ]; then echo "nginx-0.8.54.tar.gz [found]" else echo "Error: nginx-0.8.54.tar.gz not found!!!download now......" wget -c http://nginx.org/download/nginx-0.8.54.tar.gz fi if [ -s mysql-5.1.54.tar.gz ]; then echo "mysql-5.1.54.tar.gz [found]" else echo "Error: mysql-5.1.54.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/datebase/mysql/mysql-5.1.54.tar.gz fi if [ -s libiconv-1.13.1.tar.gz ]; then echo "libiconv-1.13.1.tar.gz [found]" else echo "Error: libiconv-1.13.1.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/web/libiconv/libiconv-1.13.1.tar.gz fi if [ -s libmcrypt-2.5.8.tar.gz ]; then echo "libmcrypt-2.5.8.tar.gz [found]" else echo "Error: libmcrypt-2.5.8.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/web/libmcrypt/libmcrypt-2.5.8.tar.gz fi if [ -s mhash-0.9.9.9.tar.gz ]; then echo "mhash-0.9.9.9.tar.gz [found]" else echo "Error: mhash-0.9.9.9.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/web/mhash/mhash-0.9.9.9.tar.gz fi if [ -s mcrypt-2.6.8.tar.gz ]; then echo "mcrypt-2.6.8.tar.gz [found]" else echo "Error: mcrypt-2.6.8.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/web/mcrypt/mcrypt-2.6.8.tar.gz fi if [ -s phpmyadmin.tar.gz ]; then echo "phpmyadmin.tar.gz [found]" else echo "Error: phpmyadmin.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/datebase/phpmyadmin/phpmyadmin.tar.gz fi if [ -s p.tar.gz ]; then echo "p.tar.gz [found]" else echo "Error: p.tar.gz not found!!!download now......" wget -c http://soft.vpser.net/prober/p.tar.gz fi if [ -s autoconf-2.13.tar.gz ]; then echo "autoconf-2.13.tar.gz [found]" else echo "Error: autoconf-2.13.tar.gz not found!!!download now......" wget -c http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz fi echo "============================check files==================================" cd $cur_dir tar zxvf autoconf-2.13.tar.gz cd autoconf-2.13/ ./configure --prefix=/usr/local/autoconf-2.13 make && make install cd ../ tar zxvf libiconv-1.13.1.tar.gz cd libiconv-1.13.1/ ./configure make && make install cd ../ cd $cur_dir tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure make && make install /sbin/ldconfig cd libltdl/ ./configure --enable-ltdl-install make && make install cd ../../ cd $cur_dir tar zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9/ ./configure make && make install cd ../ ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2 ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 cd $cur_dir tar zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8/ ./configure make && make install cd ../ echo "============================mysql install==================================" cd $cur_dir tar -zxvf mysql-5.1.54.tar.gz cd mysql-5.1.54/ ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --enable-thread-safe-client --enable-assembler --with-charset=utf8 --enable-thread-safe-client --with-extra-charsets=all --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile make && make install cd ../ groupadd mysql useradd -s /sbin/nologin -M -g mysql mysql cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf sed -i 's/skip-locking/skip-external-locking/g' /etc/my.cnf /usr/local/mysql/bin/mysql_install_db --user=mysql chown -R mysql /usr/local/mysql/var chgrp -R mysql /usr/local/mysql/. cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql chmod 755 /etc/init.d/mysql cat > /etc/ld.so.conf.d/mysql.conf<<EOF /usr/local/mysql/lib/mysql /usr/local/lib EOF ldconfig ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql /etc/init.d/mysql start ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump ln -s /usr/local/mysql/bin/myisamchk /usr/bin/myisamchk /usr/local/mysql/bin/mysqladmin -u root password $mysqlrootpwd /etc/init.d/mysql restart /etc/init.d/mysql stop echo "============================mysql intall completed=========================" echo "============================php+eaccelerator install======================" cd $cur_dir export PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf export PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader tar zxvf php-5.2.17.tar.gz gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1 cd php-5.2.17/ ./buildconf --force ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic make ZEND_EXTRA_LIBS='-liconv' make install mkdir -p /usr/local/php/etc cp php.ini-dist /usr/local/php/etc/php.ini cd ../ ln -s /usr/local/php/bin/php /usr/bin/php ln -s /usr/local/php/bin/phpize /usr/bin/phpize ln -s /usr/local/php/sbin/php-fpm /usr/bin/php-fpm cd $cur_dir tar zxvf memcache-3.0.5.tgz cd memcache-3.0.5/ /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install cd ../ tar zxvf PDO_MYSQL-1.0.2.tgz cd PDO_MYSQL-1.0.2/ /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql make && make install cd ../ # php extensions sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"\nextension = "pdo_mysql.so"\n#' /usr/local/php/etc/php.ini sed -i 's#output_buffering = Off#output_buffering = On#' /usr/local/php/etc/php.ini sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /usr/local/php/etc/php.ini sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini sed -i 's/;date.timezone =/date.timezone = PRC/g' /usr/local/php/etc/php.ini sed -i 's/short_open_tag = Off/short_open_tag = On/g' /usr/local/php/etc/php.ini sed -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini sed -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /usr/local/php/etc/php.ini if [ `getconf WORD_BIT` = '32' ] && [ `getconf LONG_BIT` = '64' ] ; then wget -c http://soft.vpser.net/web/zend/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz mkdir -p /usr/local/zend/ cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/ else wget -c http://soft.vpser.net/web/zend/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz mkdir -p /usr/local/zend/ cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/ fi cat >>/usr/local/php/etc/php.ini<<EOF ;eaccelerator ;ionCube [Zend Optimizer] zend_optimizer.optimization_level=1 zend_extension="/usr/local/zend/ZendOptimizer.so" EOF groupadd www useradd -s /sbin/nologin -g www www mkdir -p /home/wwwroot chmod +w /home/wwwroot mkdir -p /home/wwwlogs chmod 777 /home/wwwlogs chown -R www:www /home/wwwroot rm -f /usr/local/php/etc/php-fpm.conf cp conf/php-fpm.conf /usr/local/php/etc/php-fpm.conf wget -c http://soft.vpser.net/lnmp/ext/init.d.php-fpm5.2 cp init.d.php-fpm5.2 /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm echo "============================php+eaccelerator install completed======================" echo "============================nginx install=================================" cd $cur_dir tar zxvf pcre-8.12.tar.gz cd pcre-8.12/ ./configure make && make install cd ../ tar zxvf nginx-0.8.54.tar.gz cd nginx-0.8.54/ ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 make && make install cd ../ rm -f /usr/local/nginx/conf/nginx.conf cd $cur_dir cp conf/nginx.conf /usr/local/nginx/conf/nginx.conf cp conf/dabr.conf /usr/local/nginx/conf/dabr.conf cp conf/discuz.conf /usr/local/nginx/conf/discuz.conf cp conf/sablog.conf /usr/local/nginx/conf/sablog.conf cp conf/typecho.conf /usr/local/nginx/conf/typecho.conf cp conf/wordpress.conf /usr/local/nginx/conf/wordpress.conf cp conf/discuzx.conf /usr/local/nginx/conf/discuzx.conf cp conf/none.conf /usr/local/nginx/conf/none.conf cp conf/wp2.conf /usr/local/nginx/conf/wp2.conf sed -i 's/www.baidu.com/'$domain'/g' /usr/local/nginx/conf/nginx.conf rm -f /usr/local/nginx/conf/fcgi.conf cp conf/fcgi.conf /usr/local/nginx/conf/fcgi.conf /etc/init.d/mysql start cd $cur_dir cp lnmp /root/lnmp chmod +x /root/lnmp cp vhost.sh /root/vhost.sh chmod +x /root/vhost.sh echo "============================nginx install completed=================================" #phpinfo cat >/home/wwwroot/phpinfo.php<<eof <? phpinfo(); ?> eof #prober cd $cur_dir tar zxvf p.tar.gz cp p.php /home/wwwroot/p.php cp conf/index.html /home/wwwroot/index.html echo "============================phpMyAdmin install=================================" #phpmyadmin tar zxvf phpmyadmin.tar.gz mv phpmyadmin /home/wwwroot/ chmod 755 -R /home/wwwroot/phpmyadmin/ chown www:www -R /home/wwwroot/phpmyadmin/ echo "============================phpMyAdmin install completed=================================" echo "============================add nginx and php-fpm on startup============================" echo "Download new nginx init.d file......" wget -c http://soft.vpser.net/lnmp/ext/init.d.nginx cp init.d.nginx /etc/init.d/nginx chmod +x /etc/init.d/nginx chkconfig --level 345 php-fpm on chkconfig --level 345 nginx on chkconfig --level 345 mysql on echo "===========================add nginx and php-fpm on startup completed====================" echo "Starting LNMP..." /etc/init.d/mysql start /etc/init.d/php-fpm start /etc/init.d/nginx start echo "===================================== Check install ===================================" clear if [ -s /usr/local/nginx ]; then echo "/usr/local/nginx [found]" else echo "Error: /usr/local/nginx not found!!!" fi if [ -s /usr/local/php ]; then echo "/usr/local/php [found]" else echo "Error: /usr/local/php not found!!!" fi if [ -s /usr/local/mysql ]; then echo "/usr/local/mysql [found]" else echo "Error: /usr/local/mysql not found!!!" fi echo "========================== Check install ================================" echo "Install lnmp 0.7 completed! enjoy it." echo "=========================================================================" echo "LNMP V0.7 for CentOS/RadHat Linux VPS Written by Licess " echo "=========================================================================" echo "" echo "For more information please visit http://www.baidu.com/" echo "" echo "lnmp status manage: /root/lnmp {start|stop|reload|restart|kill|status}" echo "default mysql root password:$mysqlrootpwd" echo "phpinfo : http://$domain/phpinfo.php" echo "phpMyAdmin : http://$domain/phpmyadmin/" echo "Prober : http://$domain/p.php" echo "Add VirtualHost : /root/vhost.sh" echo "" echo "The path of some dirs:" echo "mysql dir: /usr/local/mysql" echo "php dir: /usr/local/php" echo "nginx dir: /usr/local/nginx" echo "web dir : /home/wwwroot" echo "" echo "=========================================================================" fi /root/lnmp status netstat -ntl
- lnmp0.7.rar (57 KB)
- 下载次数: 0
相关推荐
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/... OS Linux VPS或独立主机安装LNMP、LNMPA、LAMP生产环境的Shell程序...
合理使用JOIN操作,避免大表JOIN。 - **配置调整**:增加innodb_buffer_pool_size,缓存更多的数据到内存中;调整query_cache_size,平衡查询缓存与内存占用。 4. **PHP优化** - **代码优化**:遵循良好的编程...
MySQL 是 LNMPA 架构中的数据库管理系统,安装 MySQL 需要按照以下步骤操作: 1. 安装 MySQL 需要使用 cmake 命令,指定安装目录、数据目录、配置文件目录等参数。 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql...
在IT领域,构建LNMPA环境意味着安装和配置四个关键组件:Linux操作系统、Nginx Web服务器、MySQL数据库管理系统和Apache HTTP服务器,以及PHP解释器。这个环境常用于搭建高性能的Web应用程序,如WordPress或其他PHP...
支持自定义Nginx、PHP编译参数及网站和数据库目录、支持生成Let's Ecrypt/ZeroSSL/BuyPass免费SSL证书、支持无人值守、LNMP模式支持多PHP版本、支持单独安装Nginx/MySQL/MariaDB/Pureftpd服务器,同时提供一些实用的...
LNMPA和LNMP是两种常见的Web服务器架构,它们分别代表了Nginx+Linux+MySQL+PHP/Apache和Nginx+Linux+MySQL+PHP。...在实际操作中,应该根据业务特点和资源状况,以及运维团队的经验来决定最适合的架构。
该项目是一款基于Shell脚本编写的LNMP环境一键安装与优化工具,适用于多种Linux发行版。...项目设计用于快速搭建和优化LNMP、LNMPA、LAMP生产环境,适用于多种Linux VPS或独立主机,旨在简化服务器部署过程。
LNMP LNMPA 504 Gateway Time-out错误解决方法.docx
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/... OS Linux VPS或独立主机安装LNMP、LNMPA、LAMP生产环境的Shell程序...
LINUX搭建php开发环境,安装LNMP,LNMPA.zip
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS / RHEL / Fedora / Aliyun / Amazon,Debian / Ubuntu / Raspbian / Deepin / Mint Linux VPS或独立主机安装LNMP(Nginx / MySQL / PHP),LNMPA( Nginx / ...
但是,在实际部署LNMPA架构时,可能会遇到各种问题,比如本文介绍的504 Gateway Time-out错误。 504 Gateway Time-out错误是指网关服务器没有在规定时间内从上游服务器收到请求的响应。在这个案例中,问题出现在...
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian VPS(VDS)或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的...
如果我们是资深Linux用户,可能不屑于网上免费Linux Web一键包、管理面板的安装,然后自己编译或者自由的一套环境安装配置环境。...我们可以利用LNMP一键包安装LNMP/LAMP/LNMPA组合环境。Nginx、Apache、MYSQL、P
此脚本是使用Shell编写的,以便快速部署适用于CentOS 6的LEMP / LAMP / LNMP / LNMPA / LTMP (Linux,Nginx / Tengine / OpenResty,生产环境中MySQL / MariaDB / Percona,PHP,JAVA) 〜8(包括redhat),Debian ...
此脚本是使用Shell编写的,以便快速部署适用于CentOS 6的LEMP / LAMP / LNMP / LNMPA / LTMP (Linux,Nginx / Tengine / OpenResty,生产环境中MySQL / MariaDB / Percona,PHP,JAVA) 〜8(包括redhat),Debian ...
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/... OS Linux VPS或独立主机安装LNMP、LNMPA、LAMP生产环境的Shell程序...
一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)...
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP...