shell 之 lnmp(nginx-1.0.5+php-fpm5.3.6+mysql)安装脚本

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

详细请参考 nginx_笔记分享_1_安装篇(nginx-1.0.5+php-fpm5.3.6+mysql)

#update 20120717 

1 安装脚本以附件install.sh.txt 为准

2 需要调用mysql_server.sh 脚本

#update 20120718

1 安装脚本以附件install2.sh.txt 为准

 

脚本如下:

 
  1. #!/bin/bash 
  2. # nstall nginx php (php-fpm) mysql
  3. # by zm 20110731
  4.  
  5. #variables 
  6. dir=/usr/local 
  7.  
  8. #pcre 
  9. if [ ! -e "$dir/pcre" ];then 
  10.    #echo "not found" 
  11.    tar zxf pcre*.tar.gz 
  12.    cd pcre*/ 
  13.    ./configure --prefix="$dir/pcre" && make && make install 
  14.    cd ../ 
  15.    if [ ! -e "$dir/pcre" ];then 
  16.        echo "error! can't install prce  please check ! Will now out of the scri    pt!" 
  17.        exit 1 
  18.        # 
  19.        #rm -rf pcre*/ 
  20.    fi 
  21. else 
  22.    echo "prce is already exists!" 
  23. fi 
  24.   
  25. #openssl 
  26. if [ ! -e "$dir/openssl" ];then 
  27.    #echo "not found" 
  28.    tar zxf openssl*.tar.gz 
  29.    mv openssl*/ "$dir/openssl" 
  30. else 
  31.    echo "openssl is already exists!" 
  32. fi 
  33.  
  34. #nginx 
  35. if ! grep 'nginx' /etc/passwd;then 
  36.     useradd nginx -s /sbin/nologin 
  37. fi 
  38. if [ ! -e "$dir/nginx" ];then 
  39.        tar zxf nginx*.tar.gz 
  40.        cd nginx*/ 
  41.        ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.12/  --with-openssl=/usr/local/openssl/ --with-http_ssl_module --with-http_flv_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/ --user=nginx  --group=nginx 
  42.        make && make install 
  43.        cd ../ 
  44.     if [ ! -e "$dir/nginx" ];then 
  45.        echo "error! can't install nginx  please check ! Will now out of the script!" 
  46.        exit 1 
  47.     else 
  48.        rm -rf nginx*/ 
  49.     fi 
  50. else 
  51.        echo "nginx uesr and nginx group is already exists!" 
  52.        echo "nginx is already exists!" 
  53. fi 
  54. #   
  55. if ! grep '/usr/local/nginx/sbin' /etc/profile>/dev/null;then 
  56.        sed -i '$,/export/ a\export PATH=$PATH:/usr/local/nginx/sbin' /etc/profile 
  57.        source /etc/profile 
  58.        mkdir -p /var/tmp/nginx/client/ 
  59. fi 
  60.      
  61. #mysql 
  62. if [ ! -e "$dir/php" ];then 
  63.    ./mysql_server.sh 
  64.    #cd ../ 
  65.    sleep 1 
  66. else 
  67.     echo "mysql_server Already exists" 
  68. fi 
  69.   
  70.  
  71. #freetype 
  72. if [ ! -d "$dir/freetype" ];then 
  73.    tar xzf freetype*.tar.gz  
  74.    cd  freetype*/ 
  75.    ./configure --prefix=/usr/local/freetype 
  76.    make && make install && make clean 
  77.    cd ../   
  78.    if [ ! -d /usr/local/freetype ] 
  79.       then 
  80.       echo "error! can't install freetype  please check ! Will now out of the script!" 
  81.       exit 1 
  82.    else 
  83.       rm -rf freetype*/ 
  84.    fi 
  85. else 
  86.     echo "freetype Already exists!" 
  87. fi 
  88.   
  89.  
  90. #curl 
  91. if [ ! -d "$dir/curl" ];then 
  92.    tar xzf curl*.gz 
  93.    cd  curl*/ 
  94.    ./configure --prefix=/usr/local/curl 
  95.    make && make install  
  96.    cd ../   
  97.    if [ ! -d "$dir/curl" ];then 
  98.       echo "error! can't install curl  please check ! Will now out of the script!" 
  99.       exit 1 
  100.    else 
  101.       rm -rf curl*/ 
  102.    fi 
  103.     echo "curl ok!" 
  104. else 
  105.     echo "curl Already exists!" 
  106. fi 
  107.  
  108.  
  109. #libiconv 
  110. if [ ! -d "$dir/libiconv" ];then 
  111.    tar xzf libiconv*.gz 
  112.    cd  libiconv*/ 
  113.    ./configure --prefix=/usr/local/libiconv 
  114.    make && make install 
  115.    cd ../ 
  116.    if [ ! -d "$dir/libiconv" ];then 
  117.       echo "error! can't install iconv  please check ! Will now out of the script!" 
  118.       exit 1 
  119.    else 
  120.       rm -rf libiconv*/ 
  121.       echo " /usr/local/libiconv/lib" >> /etc/ld.so.conf 
  122.       ldconfig 
  123.    fi 
  124.    echo "libiconv ok!" 
  125. else 
  126.    echo "libiconv Already exists!" 
  127. fi 
  128.  
  129.  
  130. #libpng 
  131. if [ ! -d "$dir/libpng" ];then 
  132.    tar xzf libpng*.gz 
  133.    cd  libpng*/ 
  134.    ./configure --prefix=/usr/local/libpng 
  135.    #make && make install && make clean 
  136.    make && make install  
  137.    #./configure && make && make install 
  138.    cd ../ 
  139.    if [ ! -d "$dir/libpng" ];then 
  140.       echo "error! can't install png  please check ! Will now out of the script!" 
  141.       exit 1 
  142.    else 
  143.       echo "libpng ok!" 
  144.       rm -rf libpng*/ 
  145.    fi 
  146. else 
  147.     echo "libpng Already exists!" 
  148. fi 
  149.  
  150.  
  151.  
  152. #jpeg 
  153. if [ ! -d "$dir/libjpeg" ];then 
  154.    tar xzf jpeg*.gz 
  155.    cd  jpeg*/ 
  156.    ./configure --prefix=/usr/local/libjpeg 
  157.    sed -i 's/CFLAGS\= -O2  -I\$(srcdir)/CFLAGS\= -O3 -I\$(srcdir) -fPIC/g' Makefile 
  158.    mkdir -p /usr/local/libjpeg/include 
  159.    mkdir -p /usr/local/libjpeg/lib 
  160.    mkdir -p /usr/local/libjpeg/bin 
  161.    mkdir -p /usr/local/libjpeg/man/man1 
  162.    make && make install-lib && make install 
  163.   cd ../ 
  164.   if [ ! -d "$dir/libjpeg" ];then 
  165.      echo "error! can't install jpeg  please check ! Will now out of the script!" 
  166.      exit 1 
  167.   else 
  168.      echo "libjpeg ok!" 
  169.      rm -rf jpeg*/ 
  170.   fi 
  171. else 
  172.   echo "libjpeg Already exists!" 
  173. fi 
  174.  
  175.  
  176.  
  177. #php5.3 
  178. if [ ! -e "$dir/php" ];then 
  179.    tar zxf php*.tar.gz 
  180.    cd php*/ 
  181.    ./configure --prefix=/usr/local/php  --with-config-file-path=/etc/ \ 
  182.  --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-curl=/usr/local/curl --with-libxml-dir=/usr/include/libxml2 --with-gd \ 
  183.  --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-bz2 --with-freetype-dir=/usr/local/freetype --with-iconv-dir=/usr/local/libiconv \ 
  184.  --with-zlib-dir --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-exif --enable-dba --disable-ipv6 --disable-cgi \ 
  185.  --enable-bcmath --enable-sockets --enable-mbstring --enable-fpm 
  186.    make && make install 
  187.    cd ../ 
  188.    if [ ! -e "$dir/php" ];then 
  189.        echo "error! can't install php  please check ! Will now out of the scri    pt!" 
  190.        exit 1 
  191.    else 
  192.        ! grep 'php' /etc/profile && echo "export PATH=\$PATH:/usr/local/php/bin" >> /etc/profile && source /etc/profile 
  193.        ! grep 'php-fpm' /etc/profile && echo "export PATH=\$PATH:/usr/local/php/sbin" >> /etc/profile && source /etc/profile 
  194.        cp php*/php.ini-development /etc/php.ini 
  195.        cp php*/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 
  196.        chmod 755 /etc/init.d/php-fpm 
  197.        sed -i 's/;pm.start_servers = 20/pm.start_servers = 20/' /usr/local/php/etc/php-fpm.conf.default  
  198.        sed -i 's/;pm.min_spare_servers = 5/pm.min_spare_servers = 5/' /usr/local/php/etc/php-fpm.conf.default  
  199.        sed -i 's/;pm.max_spare_servers = 35/pm.max_spare_servers = 35/' /usr/local/php/etc/php-fpm.conf.default  
  200.        sed -i 's/;pm.max_requests = 500/pm.max_requests = 500/' /usr/local/php/etc/php-fpm.conf.default   
  201.        cp "$dir/php/etc/php-fpm.conf.default" "$dir/php/etc/php-fpm.conf" 
  202.        #rm -rf php*/ 
  203.    fi 
  204. else 
  205.    echo "php is already exists!" 
  206. fi 

 


本文转自 dongnan 51CTO博客,原文链接: http://blog.51cto.com/dngood/629076



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
466 9
|
3月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
393 2
|
3月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
328 0
PHP和Mysql前后端交互效果实现
|
6月前
|
Shell
Shell脚本循环控制:shift、continue、break、exit指令
使用这些命令可以让你的Shell脚本像有生命一样动起来。正确使用它们,你的脚本就能像一场精心编排的舞蹈剧目,既有旋律的起伏,也有节奏的跳跃,最终以一场惊艳的表演结束。每一个动作、每一个转折点,都准确、优雅地完成所需要表达的逻辑。如此,你的脚本不只是冰冷的代码,它透过终端的界面,跳着有节奏的舞蹈,走进观众——使用者的心中。
294 60
|
3月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
5月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
706 0
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
297 0
|
10月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
417 25
|
关系型数据库 MySQL PHP
【PHP 开发专栏】PHP 连接 MySQL 数据库的方法
【4月更文挑战第30天】本文介绍了 PHP 连接 MySQL 的两种主要方法:mysqli 和 PDO 扩展,包括连接、查询和处理结果的基本步骤。还讨论了连接参数设置、常见问题及解决方法,如连接失败、权限和字符集问题。此外,提到了高级技巧如使用连接池和缓存连接信息以优化性能。最后,通过实际案例分析了在用户登录系统和数据管理中的应用。
918 1
|
存储 SQL 前端开发
【PHP】一文详解如何连接Mysql数据库(附源码)
本文主要讲解PHP如何连接数据库并且根据前端的form表单提交的数据返回到数据库最后查询出来展现
545 0
【PHP】一文详解如何连接Mysql数据库(附源码)

推荐镜像

更多