php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译自动化部署第一版
来源:互联网 发布:剪歌拼歌软件 编辑:程序博客网 时间:2024/06/07 14:05
继续总结整理学习shell script 同时提高部署效率,这次带来 php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译自动化部署第一版,lnpp可以自由选择安装地址,同时感谢盟哥和卿哥带来的一些灵感.
详细地分解地址如下:
php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译
http://blog.csdn.net/qzier_go/article/details/7252887
自动部署脚本如下(其后有注解)
#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATH# Check if user is rootif [ $(id -u) != "0" ]; then echo "Error: You must be root to run this script, please use root to install lnpp" exit 1ficlearecho "========================================================================="echo "lnpp install shell script for CentOS/RadHat Written by Qzi"echo "creatred in 2012/2/13"echo "last modified in 2012/2/18"echo "========================================================================="echo "========================================================================="echo "PHP Version: 5.3.10"echo "========================================================================="echo "========================================================================="echo "PostgreSQL Version: 9.1.2"echo "========================================================================="echo "========================================================================="echo "nginx Version: 1.0.12"echo "========================================================================="LNPP_SRC_ROOT=$(pwd)LNPP_ROOT=/tmp/lnppPG_ROOT=$LNPP_ROOT/pgsqlPHP_ROOT=$LNPP_ROOT/phpPHP_EXTRA_LIBS=$PHP_ROOT/3rdlibsNGINX_ROOT=$LNPP_ROOT/nginxif [ -d $LNPP_ROOT ]; then echo "lnpp will install in $LNPP_ROOT" else echo "lnpp is creating the directory $LNPP_ROOT" mkdir -p $LNPP_ROOTfirpm -qa|grep phprpm -e phpecho "========================================================================="echo "install dependences"echo "========================================================================="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 autoconf;do yum -y install $packages; doneecho "============================check files=================================="if [ -s php-5.3.10.tar.gz ]; then echo "php-5.3.10.tar.gz [found]" else echo "Error: php-5.3.10.tar.gz not found!!!download now......" wget -c wget http://www.php.net/get/php-5.3.10.tar.gz/from/us.php.net/mirrorfiif [ -s libiconv-1.14.tar.gz ]; then echo "libiconv-1.14.tar.gz [found]" else echo "Error: libiconv-1.14.tar.gz not found!!!download now......" wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gzfiif [ -s pcre-8.21.tar.bz2 ]; then echo "pcre-8.21.tar.bz2 [found]" else echo "Error: pcre-8.21.tar.bz2 not found!!!download now......" wget http://downloads.sourceforge.net/project/pcre/pcre/8.21/pcre-8.21.tar.bz2fiif [ -s postgresql-9.1.2.tar.gz ]; then echo "postgresql-9.1.2.tar.gz [found]" else echo "Error: postgresql-9.1.2.tar.gz not found!!!download now......" wget http://ftp.postgresql.org/pub/source/v9.1.2/postgresql-9.1.2.tar.gzfiif [ -s nginx-1.0.12.tar.gz ]; then echo "nginx-1.0.12.tar.gz [found]" else echo "Error: nginx-1.0.12.tar.gz not found!!!download now......" wget http://nginx.org/download/nginx-1.0.12.tar.gzfiecho "============================check complete=================================="echo "============================postgresql install=================================="mkdir -p $PG_ROOTtar -zxvf postgresql-9.1.2.tar.gzif [ $(id -nu) == "postgres" ]; then echo "user postgres is not found ... " else echo "creating the user called 'postgres'" su - -c "useradd -M postgres"fichown -R postgres:postgres postgresql-9.1.2mkdir -p /opt/pgsql/etccd postgresql-9.1.2/./configure --prefix=$PG_ROOT --sysconfdir=$PG_ROOT/etcmake && make installmkdir /opt/pgsql/logs/chown postgres:postgres /opt/pgsql/logs/mkdir -p $PG_ROOT/datachown postgres:postgres $PG_ROOT/datasu postgres$PG_ROOT/bin/initdb -D $PG_ROOT/dataexitecho "============================postgresql complete=================================="echo "============================php install=================================="cd $LNPP_SRC_ROOTmkdir -p $PHP_EXTRA_LIBStar -zxf libiconv-1.14.tar.gz2cd libiconv-1.14./configure --prefix=$PHP_EXTRA_LIBS/libiconv-1.14/make && make installls $PHP_EXTRA_LIBS/libiconv-1.14/cd ../tar -jxf pcre-8.21.tar.bz2cd pcre-8.21./configure --prefix=$PHP_EXTRA_LIBS/pcre-8.21/make && make installcd ../mkdir -p $PHP_ROOT tar -zxvf php-5.3.10.tar.gzcd php-5.3.10./configure --prefix=$PHP_ROOT --with-config-file-path=$PHP_ROOT/etc --with-iconv-dir=$PHP_EXTRA_LIBS/libiconv-1.14 --with-pcre-dir=$PHP_EXTRA_LIBS/pcre-8.21 --with-pgsql=$PG_ROOT --enable-fpmmake ZEND_EXTRA_LIBS = -liconvmake installcd ../echo "============================php complete================================="echo "============================nginx install================================="mkdir -p $NGINX_ROOTtar -zxvf nginx-1.0.12.tar.gzcd nginx-1.0.12 if [ $(id -nu) == "nginx" ]; then echo "user nginx is not found ... " else echo "creating the user called 'nginx'" su - -c "useradd -M nginx"fi./configure --user=nginx --group=nginx --prefix=$NGINX_ROOT --with-http_ssl_module --with-pcre=$LNPP_SRC_ROOT/pcre-8.21make && make installcd ../echo "============================nginx complete================================="exit 0
1.修改第28行 :LNPP_ROOT=/tmp/lnpp,可以改变安装地址;
2.pg并没有初始化data,由用户自己控制
3.其中会自动创建两个用户名:nginx 和 postgres
产品环境部署不适合我写的这个脚本,此脚本更多的还是用于开发调整,所以目录部署没严格安装FHS来部署,脚本布局思路贯穿着统一在单目录下和易于备份的思想。
lnpp.sh 在这里
https://code.google.com/p/lnpp/
建立了一个php群,欢迎一起学习(QQ群号:213572677)
Reference:
https://writer.zoho.com/public/6b6a49b6dcbb8205336873dd09e1b3517a451cd1e1176acb29ac6183f6c6c0976db04614eed231e5
http://lnmp.org/
http://www.pathname.com/fhs/
- php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译自动化部署第一版
- php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译自动化部署第一版.续
- php 5.4.10 + nginx1.0.12 + PostgreSQL 9.1.3 源码编译自动化部署第二版
- php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译
- php 5.4.10 + nginx1.0.15 + PostgreSQL 9.1.3 源码编译自动化部署第三版
- php 5.4.4 + nginx 1.2.1 + PostgreSQL 9.1.4源码编译自动化部署第四版
- nginx1.0.12源码编译
- PostgreSQL 9.1.2源码编译
- php5.3.10自动化部署脚本第一版
- 源码编译安装nginx1.4.7
- centos6 编译nginx1.9.1
- Nginx1.10 编译安装
- centos 7下源码编译安装php支持PostgreSQL
- Postgresql源码编译(windows7)
- 从源码编译postgresql
- Saltstack自动化源码编译安装PHP以及LNMP安装整合
- 自动化编译源码
- windows下编译postgresql源码
- kthread_create和kernel_thread的区别和总结 (转)
- ext4【 监听事件 beforeload,用法】【grid 带参数 查询 分页 store beforeload 解决办法 】
- 餐馆那些事之:Command Pattern
- update select
- C++反汇编四(SWITCH语句)
- php 5.3.10 + nginx1.0.12 + PostgreSQL 9.1.2 源码编译自动化部署第一版
- Android开发之道(7)响应键盘事件
- 用C#进行Access数据的批量插入
- 异常处理和垃圾处理
- Nginx+PHP FastCgi大幅度优化提速
- 配置文件2012.2.14
- Android 中的service
- Centos学习笔记—系统引导
- 超垃圾的netbean快捷键大全,和VS2008+有的 比