返回顶部
首页 > 资讯 > 服务器 >如何实现全自动安装LNMP服务器环境的Shell脚本
  • 745
分享到

如何实现全自动安装LNMP服务器环境的Shell脚本

2023-06-09 18:06:35 745人浏览 安东尼
摘要

这篇文章主要介绍“如何实现全自动安装LNMP服务器环境的shell脚本”,在日常操作中,相信很多人在如何实现全自动安装LNMP服务器环境的Shell脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现全

这篇文章主要介绍“如何实现全自动安装LNMP服务器环境的shell脚本”,在日常操作中,相信很多人在如何实现全自动安装LNMP服务器环境的Shell脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现全自动安装LNMP服务器环境的Shell脚本”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP。

本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件。大家安装完可以删除该目录。

使用方法:

1、把shell脚本的内容保存为nginx_php

2、root权限下运行:

代码如下:

chmod u+x Nginx_PHP; ./nginx_php init; ./nginx_php ins_mysql-server; ./nginx_php ins_Mysql-client; ./nginx_php ins_php52; ./nginx_php ins_php52-ext; ./nginx_php ins_mysql


在脚本运行过程中需要输入一次y确认。

Shell脚本内容如下:

代码如下:

#/bash
# author:coralzd powered by www.freebsdsystem.org
# written by coralzd 2011.05.05
# version 0.1.3 build 20110505
nginx_dir="/usr/local/nginx"
php52_dir="/usr/local/php52"
mysql_dir="/usr/local/mysql"

function init()
{

LANG=C
yum -y install wget GCc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

read -p "Now,will download nginxphp software...Y|y:" nginxphp

case "$nginxphp" in

Y|y)

echo -n "starting download nginx_php ..."
cat > list << "EOF" &&
nginx-1.0.0.tar.gz
php-5.2.17.tar.gz
php-5.2.17-fpm-0.5.14.diff.gz
libiconv-1.13.1.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
memcache-2.2.5.tgz
mhash-0.9.9.9.tar.gz
mysql-5.1.52.tar.gz
pcre-8.10.tar.gz
eaccelerator-0.9.6.1.tar.bz2
PDO_MYSQL-1.0.2.tgz
libunwind-0.99.tar.gz
ImageMagick.tar.gz
imagick-2.3.0.tgz
Google-perftools-1.6.tar.gz
fcgi.conf
php.ini
nginx.conf
php-fpm.conf
EOF
mkdir packages
for i in `cat list`
do
if [ -s packages/$i ]; then
echo "$i [found]"
else
echo "Error: $i not found!!!download now......"
wget Http://www.freebsdsystem.org/linux/nginx-php/$i -P packages/
fi
done
;;

*)

echo -n "exit install script"
exit 0
;;

esac

groupadd www && useradd www -s /sbin/nologin -g www
groupadd mysql && useradd mysql -s /sbin/nologin -g mysql
echo "www and mysql user && group create!"

/bin/rm -rf list

echo -e "All of installed sucussful!"
}
function is_version()

{
if [ `uname -m` == "x86_64" ];then
tar zxf libunwind-0.99.tar.gz
tar zxvf libunwind-0.99.tar.gz
cd libunwind-0.99/
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
cd ../
else

echo "your system is 32bit ,not install libunwind lib!"
fi
}

function ins_nginx()

{

cd packages

is_version
tar zxf google-perftools-1.6.tar.gz
cd google-perftools-1.6
./configure
make
make install

cd ..
tar zxf pcre-8.10.tar.gz
cd pcre-*
./configure
make
make install
cd ..
tar zxf nginx-1.0.0.tar.gz
cd nginx-1.0.0
./configure --prefix=${nginx_dir} --with-google_perftools_module --user=www --group=www --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module

make && make install
cd ..
rm -rf /usr/local/nginx/conf/nginx.conf
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
cp nginx.conf /usr/local/nginx/conf/
cp fcgi.conf /usr/local/nginx/conf/
echo "nginx installed sucussfully!"

}
function ins_mysql-server()
{

cd packages/
tar zxf mysql-5.1.52.tar.gz
cd mysql-5.1.52
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"
./configure "--prefix=${mysql_dir}" "--with-server-suffix=-DZWWW" "--with-mysqld-user=mysql" "--without-debug" "--with-charset=utf8" "--with-extra-charsets=all" "--with-pthread" "--with-big-tables" "--enable-thread-safe-client" "--enable-assembler" "--with-readline" "--with-ssl" "--enable-local-infile" "--with-plugins=partition,myisammrg" "--without-ndb-debug"

make && make install
cp support-*/mysql.server /etc/init.d/mysqld
cd /usr/local/mysql
chown -R mysql:mysql .
rm -rf sql-bench mysql-test
echo "mySQL Server 5.1.52 installed successfully!"
}
function ins_mysql-client()
{

cd packages/
tar zxf mysql-5.1.52.tar.gz
cd mysql-5.1.52
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"
./configure "--prefix=${mysql_dir}" "--with-mysqld-user=mysql" "--without-debug" "--with-charset=utf8" "--with-extra-charsets=all" "--with-pthread" "--with-big-tables" "--enable-thread-safe-client" "--enable-assembler" "--with-readline" "--with-ssl" "--enable-local-infile" "--without-server"

make && make install
cd /usr/local/mysql
chown -R mysql:mysql .
rm -rf sql-bench mysql-test
echo "mysql client 5.1.52 installed successfully!"
}
function ins_php52()
{
cd packages/
tar zxf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1/
./configure --prefix=/usr/local
make
make install
cd ../

tar zxf 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 ../../

tar zxf 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
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

tar zxf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd ../
tar zxf 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/
./configure --prefix=${php52_dir} --with-config-file-path=${php52_dir}/etc --with-mysql=${mysql_dir} --with-mysqli=${mysql_dir}/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --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 --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-Sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
make ZEND_EXTRA_LIBS='-liconv'
make install
cd ..
cp php.ini /usr/local/php52/etc/
cp php-fpm.conf /usr/local/php52/etc/

echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf.d/mysql_lib.conf
/sbin/ldconfig
echo "php52 installed successfully!"
}

function ins_php52-ext()

{
cd packages/

tar zxf memcache-2.2.5.tgz
cd memcache-2.2.5/
${php52_dir}/bin/phpize
./configure --with-php-config=${php52_dir}/bin/php-config
make
make install
cd ../

tar jxf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1/
${php52_dir}/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=${php52_dir}/bin/php-config
make
make install
cd ../

tar zxf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
${php52_dir}/bin/phpize
./configure --with-php-config=${php52_dir}/bin/php-config --with-pdo-mysql=${mysql_dir}
make
make install
cd ../

tar zxf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2/
./configure
make
make install
cd ../

tar zxf imagick-2.3.0.tgz
cd imagick-2.3.0/
${php52_dir}/bin/phpize
./configure --with-php-config=${php52_dir}/bin/php-config
make
make install
cd ../
echo "php52 extension installed successfully!"
}

case $1 in
init)

init
;;
ins_mysql-server)

ins_mysql-server

;;
ins_mysql-client)
ins_mysql-client
;;
ins_nginx)
ins_nginx
;;
ins_php52)
ins_php52
;;
ins_php52-ext)
ins_php52-ext
;;
*)
echo "Usage:`basename $0` {init|ins_mysql-server|ins_mysql-client|ins_php52|ins_php52-ext|ins_mysql}"
;;
esac

到此,关于“如何实现全自动安装LNMP服务器环境的Shell脚本”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何实现全自动安装LNMP服务器环境的Shell脚本

本文链接: https://lsjlt.com/news/257273.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现全自动安装LNMP服务器环境的Shell脚本
    这篇文章主要介绍“如何实现全自动安装LNMP服务器环境的Shell脚本”,在日常操作中,相信很多人在如何实现全自动安装LNMP服务器环境的Shell脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现全...
    99+
    2023-06-09
  • 一个简洁的全自动安装LNMP服务器环境的Shell脚本分享
    此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP。 本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件。大家安装...
    99+
    2022-06-04
    全自动 脚本 简洁
  • mysql中如何实现自动化脚本安装的shell脚本
    这篇文章将为大家详细讲解有关mysql中如何实现自动化脚本安装的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚本处理逻辑流程图    ...
    99+
    2024-04-02
  • Shell脚本实现自动安装zookeeper
    A:本脚本运行的机器,Linux RHEL6 B,C,D,...:待安装zookeeper cluster的机器, Linux RHEL6 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装zk的机器...
    99+
    2022-06-04
    脚本 Shell zookeeper
  • shell脚本如何自动安装jdk
    这篇文章主要介绍shell脚本如何自动安装jdk,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.安装准备jdk-8u221-linux-x64.tar.gz jdk压缩包(需要放在opt目录下)2.shell脚本2...
    99+
    2023-06-09
  • shell怎么实现自动安装python3的脚本
    这篇文章给大家分享的是有关shell怎么实现自动安装python3的脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。root用户权限# vim install_python3.sh1#!/b...
    99+
    2023-06-09
  • 阿里云主机一键安装lamp、lnmp环境的shell脚本分享
    阿里云主机一键安装lamp,lnmp,自动安装脚本,由阿里云主机分享 一键安装包下载地址:点击下载 1、阿里云分享的一键安装lamp,lnmp,此安装包包含的软件及版本为: nginx:1.0.15、1....
    99+
    2022-06-04
    阿里 一键 脚本
  • 如何实现vtune自动安装脚本
    本篇内容介绍了“如何实现vtune自动安装脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/bash#!/usr/b...
    99+
    2023-06-09
  • linux服务器如何实现安全加固shell脚本
    这篇文章给大家分享的是有关linux服务器如何实现安全加固shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:#!/bin/sh# desc: setup linux system securi...
    99+
    2023-06-09
  • mydumper如何实现自动化安装脚本
    这篇文章主要介绍了mydumper如何实现自动化安装脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/usr/bin/expect -fset hname [linde...
    99+
    2023-06-04
  • 如何实现vtune自动化安装脚本
    本篇内容介绍了“如何实现vtune自动化安装脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/bash#!/usr/...
    99+
    2023-06-09
  • Linux服务器如何实现安全初始化Shell脚本
    这篇文章主要为大家展示了“Linux服务器如何实现安全初始化Shell脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux服务器如何实现安全初始化Shell脚本”这篇文章吧。使用方法:将...
    99+
    2023-06-16
  • linux环境下如何编写shell脚本实现启动停止tomcat服务
    小编给大家分享一下linux环境下如何编写shell脚本实现启动停止tomcat服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以管理员的身份进入控制台,在指定...
    99+
    2023-06-09
  • MySQL如何实现各版本自动安装脚本
    这篇文章主要介绍MySQL如何实现各版本自动安装脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 描述:    1 . 所有版本都...
    99+
    2024-04-02
  • Shell脚本实现在Linux系统中自动安装JDK
    A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: $ ./install-jd...
    99+
    2022-06-04
    脚本 系统 Shell
  • 如何配置Shell脚本实现在Linux系统中自动安装JDK
    这篇文章主要介绍“如何配置Shell脚本实现在Linux系统中自动安装JDK”,在日常操作中,相信很多人在如何配置Shell脚本实现在Linux系统中自动安装JDK问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-09
  • 如何编写Shell脚本实现检查服务器安全状态
    本篇内容介绍了“如何编写Shell脚本实现检查服务器安全状态”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明:大家平时对Linux服务器安...
    99+
    2023-06-09
  • shell脚本如何实现一键安装php7
    这篇文章给大家分享的是有关shell脚本如何实现一键安装php7的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如下所示:#!/bin/bashphp_gz_file='/home/php/Download...
    99+
    2023-06-09
  • 如何实现Linux Shell脚本变量和环境变量
    这篇文章主要讲解了“如何实现Linux Shell脚本变量和环境变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现Linux Shell脚本变量和环境变量”吧!一、玩转变量和环境变量...
    99+
    2023-06-09
  • 如何用Shell脚本实现自动输入密码登录服务器
    这篇文章主要介绍“如何用Shell脚本实现自动输入密码登录服务器”,在日常操作中,相信很多人在如何用Shell脚本实现自动输入密码登录服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Shell脚本实...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作