实验环境:CentOS 6.3 32位
首先我们先去下载nginx的第三方yum源
mkdir /shell
cd /shell
wget http://www.atomicorp.com/installers/atomic
sh ./atomic
echo $?
建议查一下执行的返回状态 为0的话 说明成功~ 不成功的话建议重新执行下 或者下载下面的源码执行下
执行如果报错的话就确定一下自己的DNS
echo "Reading configuration "
sed -i '2a nameserver 114.114.114.114' /etc/resolv.conf
yum check-update
没错的话就可以复制下面的咱们写的CentOS6.3的lnmp.sh去安装LNMP脚本了
或者是复制一下代码 创建atomic文件也可以
代码如下:
#!/bin/sh
# Name: Atomic Archive configuration script
# License: GPLv3
# Credits
# Scott R. Shinn (atomicorp)
# Andy Gredler (rackspace)
if [ ! -f /etc/redhat-release ]; then
echo "Error: /etc/redhat-release was not detected"
exit
fi RELEASE=`cat /etc/redhat-release | awk -F\( '{print $1}'`
ATOMIC_VER="2.0.14"
VERSION="1.0-19"
SERVER=updates.atomicorp.com
ARCH=`uname -i`
REDHAT= # Input validation function
# check_input <msg> <valid responses regex> <default>
# if <default> is passed on as null, then there is no default
# Example: check_input "Some question (yes/no) " "yes|no" "yes"
function check_input {
message=$
validate=$
default=$ while [ $? -ne ]; do
echo -n "$message "
read INPUTTEXT < /dev/tty
if [ "$INPUTTEXT" == "" -a "$default" != "" ]; then
INPUTTEXT=$default
return
fi
echo $INPUTTEXT | egrep -q "$validate" && return
echo "Invalid input"
done } echo
echo "Atomic Free Unsupported Archive installer, version $ATOMIC_VER"
echo
echo "BY INSTALLING THIS SOFTWARE AND BY USING ANY AND ALL SOFTWARE"
echo "PROVIDED BY ATOMICORP LIMITED YOU ACKNOWLEDGE AND AGREE:"
echo
echo "THIS SOFTWARE AND ALL SOFTWARE PROVIDED IN THIS REPOSITORY IS "
echo "PROVIDED BY ATOMICORP LIMITED AS IS, IS UNSUPPORTED AND ANY"
echo "EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE"
echo "IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR"
echo "PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ATOMICORP LIMITED, THE"
echo "COPYRIGHT OWNER OR ANY CONTRIBUTOR TO ANY AND ALL SOFTWARE PROVIDED"
echo "BY OR PUBLISHED IN THIS REPOSITORY BE LIABLE FOR ANY DIRECT,"
echo "INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES"
echo "(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS"
echo "OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)"
echo "HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,"
echo "STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)"
echo "ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED"
echo "OF THE POSSIBILITY OF SUCH DAMAGE."
echo
echo "===================================================================="
echo "THIS SOFTWARE IS UNSUPPORTED. IF YOU REQUIRE SUPPORTED SOFWARE"
echo "PLEASE SEE THE URL BELOW TO PURCHASE A NUCLEUS LICENSE AND DO NOT "
echo "PROCEED WITH INSTALLING THIS PACKAGE."
echo "===================================================================="
echo
echo "For supported software packages please purchase a Nucleus license: "
echo "https://www.atomicorp.com/products/nucleus.html"
echo "All atomic repository rpms are UNSUPPORTED." if [ ! $NON_INT ]; then
check_input "Do you agree to these terms? (yes/no) [Default: yes]" "yes|no" "yes"
query=$INPUTTEXT
fi if [ "$query" == "no" ]; then
echo "Exiting"
echo
exit
fi if rpm -q atomic-release > /dev/null ; then
if [ ! -f /etc/yum.repos.d/atomic.repo ]; then
rpm -e atomic-release
# else
# echo
# echo "atomic-release is already installed."
# echo "Exiting...."
# echo
# exit
fi fi echo
echo "Configuring the [atomic] yum archive for this system "
echo if grep -q "Red Hat Linux release 9 " /etc/redhat-release ; then
DIST="rh9"
DIR=redhat/
echo
echo "$RELEASE is no longer supported."
echo
exit
elif grep -q "Fedora Core release 2 " /etc/redhat-release ; then
DIST="fc2"
DIR=fedora/
echo
echo "$RELEASE is no longer supported."
echo
exit
elif grep -q "Fedora Core release 3 " /etc/redhat-release ; then
DIST="fc3"
DIR=fedora/
echo
echo "$RELEASE is no longer supported."
echo
exit
#YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yum"
elif grep -q "Fedora Core release 4 " /etc/redhat-release ; then
DIST="fc4"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yum"
PLESKREPO="plesk-fedora"
elif grep -q "Fedora Core release 5 " /etc/redhat-release ; then
DIST="fc5"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yum"
PLESKREPO="plesk-fedora"
elif grep -q "Fedora Core release 6 " /etc/redhat-release ; then
DIST="fc6"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yum rpm-python"
PLESKREPO="plesk-fedora"
elif grep -q "Fedora release 7 " /etc/redhat-release ; then
DIST="fc7"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
elif grep -q "Fedora release 8 " /etc/redhat-release ; then
DIST="fc8"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
elif grep -q "Fedora release 9 " /etc/redhat-release ; then
DIST="fc9"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 10 " /etc/redhat-release ; then
DIST="fc10"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 11 " /etc/redhat-release ; then
DIST="fc11"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 12 " /etc/redhat-release ; then
DIST="fc12"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 13 " /etc/redhat-release ; then
DIST="fc13"
DIR=fedora/
G YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 14 " /etc/redhat-release ; then
DIST="fc14"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 15 " /etc/redhat-release ; then
DIST="fc15"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 16 " /etc/redhat-release ; then
DIST="fc16"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
PLESKREPO="plesk-fedora"
DISABLE_PLESK=yes
elif grep -q "Fedora release 17 " /etc/redhat-release ; then
DIST="fc17"
DIR=fedora/
YUMDEPS="fedora-release python-elementtree python-sqlite python-urlgrabber yumrpm-python"
elif grep -q "Fedora release 18 " /etc/redhat-release ; then
DIST="fc18"
DIR=fedora/
elif grep -q "Fedora release 19 " /etc/redhat-release ; then
DIST="fc19"
DIR=fedora/
elif grep -q "Fedora release 20 " /etc/redhat-release ; then
DIST="fc20"
DIR=fedora/
elif grep -q "Fedora release 21 " /etc/redhat-release ; then
DIST="fc21"
DIR=fedora/
elif grep -q "Fedora release 22 " /etc/redhat-release ; then
DIST="fc22"
DIR=fedora/
elif grep -q "Fedora release 23 " /etc/redhat-release ; then
DIST="fc23"
DIR=fedora/
elif egrep -q "Red Hat Enterprise Linux (A|E)S release 3 " /etc/redhat-release ; then
DIST="el3"
DIR=redhat/
echo
echo "$RELEASE is not supported at this time, you will need to configure yum manually:"
echo "see http://$SERVER/channels for instructions"
echo
exit
elif grep -q "CentOS release 3" /etc/redhat-release ; then
DIST="el3"
DIR=centos/
echo
echo "$RELEASE is not supported at this time, you will need to configure yum manually:"
echo "see http://$SERVER/channels for instructions"
echo
exit
elif egrep -q "Red Hat Enterprise Linux (A|E|W)S release 4" /etc/redhat-release ; then
REDHAT=
DIST="el4"
DIR=redhat/
YUMDEPS="python-elementtree python-sqlite python-urlgrabber yum sqlite"
PLESKREPO="plesk-redhat"
elif egrep -q "Red Hat Enterprise Linux.*release 5" /etc/redhat-release ; then
REDHAT=
DIST="el5"
DIR=redhat/
YUMDEPS="rpm-python python-elementtree python-sqlite python-urlgrabber yum sqlite"
PLESKREPO="plesk-redhat"
elif egrep -q "Red Hat Enterprise Linux.*release 6" /etc/redhat-release ; then
REDHAT=
DIST="el6"
DIR=redhat/
YUMDEPS="rpm-python python-elementtree python-sqlite python-urlgrabber yum sqlite"
PLESKREPO="plesk-redhat"
elif egrep -q "Red Hat Enterprise Linux.* 7" /etc/redhat-release ; then
REDHAT=
DIST="el7"
DIR=redhat/
YUMDEPS="rpm-python python-elementtree python-sqlite python-urlgrabber yum sqlite"
PLESKREPO="plesk-redhat"
elif grep -q "CentOS release 3" /etc/redhat-release ; then
DIST="el3"
DIR=centos/
YUMDEPS="centos-release python-elementtree python-sqlite python-urlgrabber yum sqlite"
PLESKREPO="plesk-centos"
elif grep -q "CentOS release 4" /etc/redhat-release ; then
DIST="el4"
DIR=centos/
YUMDEPS="centos-release python-elementtree python-sqlite python-urlgrabber yum sqlite"
PLESKREPO="plesk-centos"
elif egrep -q "(release 5|release 2011)" /etc/redhat-release ; then
DIST="el5"
DIR=centos/
YUMDEPS="rpm-python centos-release python-elementtree python-sqlite python-urlgrabber yum sqlite m2crypto"
PLESKREPO="plesk-centos"
# Fc6 uses "release 6" so we need the whole thing here
elif egrep -q "(release 6|release 2012)" /etc/redhat-release ; then
DIST="el6"
DIR=centos/
YUMDEPS="rpm-python centos-release python-elementtree python-sqlite python-urlgrabber yum sqlite m2crypto"
PLESKREPO="plesk-centos"
elif egrep -q "(release 7|release 2014)" /etc/redhat-release ; then
DIST="el7"
DIR=centos/
YUMDEPS="rpm-python centos-release python-elementtree python-sqlite python-urlgrabber yum sqlite m2crypto"
PLESKREPO="plesk-centos"
else
echo "Error: Unable to determine distribution type. Please send the contents of /etc/redhat-release to support@atomicrocketturtle.com"
exit
fi ATOMIC=atomic-release-$VERSION.$DIST.art.noarch.rpm
# for up2date
SOURCES="yum atomic http://www.atomicorp.com/channels/atomic/$DIR/$ARCH" # Yum install function
function installyum {
opts=$ if [ ! -d atomic/yumdeps ]; then
mkdir -p atomic/yumdeps/
fi
cd atomic/yumdeps
if [ -f $DIST-$ARCH-yumdeps.tar.gz ]; then
rm -f $DIST-$ARCH-yumdeps.tar.gz
fi #echo "wget -q http://$SERVER/installers/yum/$DIST-$ARCH-yumdeps.tar.gz"
wget -q http://$SERVER/installers/yum/$DIST-$ARCH-yumdeps.tar.gz || exit 1
tar zxf $DIST-$ARCH-yumdeps.tar.gz for i in $YUMDEPS; do
rpm --quiet --queryformat=%{NAME} -q $i || INSTALLDEPS="$i*rpm $INSTALLDEPS"
done #echo "DEBUG $INSTALLDEPS"
rpm -Uvh $opts $INSTALLDEPS } echo -n "Installing the Atomic GPG keys: "
if [ ! -f RPM-GPG-KEY.art.txt ]; then
wget -q https://www.atomicorp.com/RPM-GPG-KEY.art.txt 1>/dev/null 2>&1
fi
rpm -import RPM-GPG-KEY.art.txt >/dev/null >& if [ ! -f RPM-GPG-KEY.atomicorp.txt ]; then
wget -q https://www.atomicorp.com/RPM-GPG-KEY.atomicorp.txt 1>/dev/null 2>&1
fi
rpm -import RPM-GPG-KEY.atomicorp.txt >/dev/null >& echo "OK" echo if [ ! -f /usr/bin/yum ]; then echo "Yum was not detected. Attempting to resolve.. "
echo # If were on RHEL4, ask if they want to convert to centos, or use up2date
if [ "$REDHAT" == "" ]; then
echo
echo "Redhat Enterprise Linux Detected.."
echo " If you do not have a valid RHEL subscription, this utility can be used"
echo " to convert this system to centos. If you do have a valid subscription"
echo " just hit enter, or n to continue. The installer will add the [atomic]"
echo " channel to up2date, and *attempt* to install yum."
echo
#echo -n "Convert this system to CentOS? (y/n) [Default: no]: "
#read useyum < /dev/tty
check_input "Convert this system to CentOS? (y/n) [Default: n]:" "y|n" "n"
useyum=$INPUTTEXT if [ "$useyum" == "y" ]; then
echo "Installing yum from CentOS"
YUMDEPS="centos-release $YUMDEPS"
PLESKREPO="plesk-centos"
installyum
else
echo "Attempting to configure [atomic] for up2date"
if egrep -q "^yum atomic" /etc/sysconfig/rhn/sources ; then
echo "atomic channel detected"
else
echo $SOURCES >> /etc/sysconfig/rhn/sources
fi
echo "Attempting to set up yum for RHEL"
echo -n " Installing RPM GPG key: "
wget -q http://www.atomicorp.com/installers/yum/RPM-GPG-KEY-c4 1>/dev/null 2>&1
rpm -import RPM-GPG-KEY-c4 >/dev/null >&
echo "OK"
installyum "--nodeps"
YUM=
fi else
# for everyone else
installyum
YUM=
fi else
YUM=
fi if [ "$YUM" == "" ]; then ATOMICRELEASE=
echo -n "Downloading $ATOMIC: "
wget -q http://$SERVER/channels/atomic/$DIR/$ARCH/RPMS/$ATOMIC >/dev/null 2>&1 || exit $? if [ $? -ne ]; then
echo "Error: File $ATOMIC not found."
echo
exit
fi if [ -f $ATOMIC ]; then
rpm -Uvh $ATOMIC || exit
rm -f $ATOMIC
else
echo "ERROR: $ATOMIC was not downloaded."
exit
fi echo "OK"
fi if [ ! -f /etc/yum.repos.d/atomic.repo ]; then
echo "Error: /etc/yum.repos.d/atomic.repo was not detected."
exit
fi if [ -f /etc/yum.repos.d/plesk.repo ]; then
rm -f /etc/yum.repos.d/plesk.repo
fi if [ ! $NON_INT ]; then
echo
check_input "Enable repo by default? (yes/no) [Default: yes]:" "yes|no" "yes"
query=$INPUTTEXT
if [ "$query" == "no" ]; then
sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/atomic.repo
fi fi echo
echo
echo "The Atomic Rocket Turtle archive has now been installed and configured for your system"
echo "The following channels are available:"
echo " atomic - [ACTIVATED] - contains the stable tree of ART packages"
echo " atomic-testing - [DISABLED] - contains the testing tree of ART packages"
echo " atomic-bleeding - [DISABLED] - contains the development tree of ART packages"
echo
echo "--------------------------------------------------------------------------------------------"
LNMP脚本如下:复制进去附加权限执行即可
chmod +x lnmp.sh
接着./lnmp.sh 执行脚本
#------------------CentOS6. 32位 lnmp环境-------------#
#! /bin/bash echo "1.configuration Iptables "
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
service iptables save
service iptables restart echo "2.Stop selinux"
setenforce
\cp -rp /etc/selinux/config /etc/selinux/config.bak
sed -i 's/enforcing/disabled/g' /etc/selinux/config
echo "3.Update yum"
yum check-update
if [ $(echo $?) = "" ]
then
echo "nginx yum Update OK~ Please continue Wait"
else
echo "Nginx yum Update filed exit "
exit
fi
echo "3.Installing Nginx Server"
yum install nginx -y
if [ $(echo $?) = "" ]
then
echo "Nginx installed Ok~"
else
echo "Nginx install failed Please try again"
exit
fi
sleep
service nginx restart
chkconfig nginx on
/etc/init.d/nginx restart
rm -rf /usr/share/nginx/html/*
echo "4.Installing Mysql Server"
yum install mysql mysql-server -y
chkconfig mysqld on
/etc/init.d/mysqld start
mysqladmin -uroot password "P@ssw0rd"
\cp -rfp /usr/share/mysql/my-medium.cnf /etc/my.cnf
/etc/init.d/mysqld restart
echo "5.Installing PHP"
yum install php php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm -y
/etc/init.d/mysqld restart
/etc/init.d/nginx restart
/etc/rc.d/init.d/php-fpm start
chkconfig php-fpm on
echo "6:configuration php"
\cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
\cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak
sed -i '14s/index index.html index.htm;/index index.php index.html index.htm;/' /etc/nginx/conf.d/default.conf
echo "Delete the unwanted data add we need"
sed -i '$d' /etc/nginx/conf.d/default.conf
sed -i '$d' /etc/nginx/conf.d/default.conf
sed -i '$d' /etc/nginx/conf.d/default.conf
echo -e "location ~ \.php$ {\nroot /usr/share/nginx/html/;\nfastcgi_pass 127.0.0.1:9000;\nfastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\ninclude fastcgi_params;\n}\n} " >> /etc/nginx/conf.d/default.conf
sed -i '57s/fastcgi_param SCRIPT_FILENAME ;/fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;/' /etc/nginx/conf.d/default.conf
/etc/init.d/nginx restart
echo "7:Configuration php date"
\cp /etc/php.ini /etc/php.inibak
sed -i '946a date.timezone = PRC' /etc/php.ini
sed -i '314s/^/;&/' /etc/php.ini
sed -i '314a disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname' /etc/php.ini
echo "Configuration php-fpm"
\cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak
sed -i '39s/user = apache/user = nginx/ ' /etc/php-fpm.d/www.conf
sed -i '41s/group = apache/group = nginx/' /etc/php-fpm.d/www.conf
/etc/init.d/mysqld restart
/etc/init.d/nginx restart
/etc/rc.d/init.d/php-fpm restart
echo "Starting Testing"
echo -e "<?php\nphpinfo();\n?> " > /usr/share/nginx/html/phpinfo.php
chown nginx.nginx /usr/share/nginx/html/ -R
chmod 755 /usr/share/nginx/html/ -R echo "-----------------------------------------------"
echo "LNMP安装成功"
echo "Mysql 密码为P@ssw0rd"
echo "nginx默认站点目录是:/usr/share/nginx/html/"
echo "MySQL数据库目录是:/var/lib/mysql"
echo "-----------------------------------------------"
最后测试访问可以登录数据库 Mysql -uroot -pP@ssw0rd
网页php测试页地址为:http://IP/phpinfo.php