`
AnhuiOSS技术分享
  • 浏览: 35107 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Nginx + PHP + PostgreSQL 源代码编译安装

阅读更多

源码包下载:

1、php(版本:5.4.8)下载地址:http://cn2.php.net/get/php-5.4.8.tar.bz2/from/this/mirror

2、Nginx(版本:nginx-1.3.8)下载地址:http://nginx.org/download/nginx-1.3.8.tar.gz

 

3、eAccelerator下载地址:http://eaccelerator.net/

4、ImageMagick(版本:6.8.0-4)下载地址:ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.8.0-4.tar.bz2

5、imagick(版本:3.0.1)下载地址:http://pecl.php.net/get/imagick-3.0.1.tgz

6、libconv(版本:1.14)下载地址:http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

7、libmcrypt(版本:)下载地址:ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

8、mcrypt(版本:2.6.8)下载地址:http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmcrypt%2F&ts=1353402942&use_mirror=nchc

9、memcached(版本:1.4.15)下载地址:http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz

10、pcre(版本:8.31)下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.bz2

11、mhash(版本:0.9.9.9)下载地址:http://sourceforge.net/projects/mhash/files/latest/download?source=files

 

二、安装编译包

 yum install gcc glibc make

三、解压包并开始安装

 1、解压libiconv-1.14.tar.gz 

      tar xvzf libiconv-1.14.tar.gz 

      cd libiconv-1.14

       ./configure --prefix=/usr/local && make && make install

  2、解压libmcrypt-2.5.7.tar.gz

    tar xvzf libmcrypt-2.5.7.tar.gz

    cd libmcrypt-2.5.7

        ./configure && make && make install

       /sbin/ldconfig

       cd libltdl/

       ./configure --enable-ltdl-install

make && make install

  3、解压mhash-0.9.9.9.tar.bz2

   tar xvjf mhash-0.9.9.9.tar.bz2

     cd mhash-0.9.9.9

     ./configure && make && make install

    创建以下快捷连接

    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.7 /usr/lib/libmcrypt.so.4.4.7

    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

     /sbin/ldconfig

 4、解压mcrypt-2.6.8.tar.gz

    tar xvzf mcrypt-2.6.8.tar.gz

    cd mcrypt-2.6.8

     ./configure && make && make install

5、安装数据库(通过yum来安装)

  yum install postgresql-server postgresql postgresql-devel postgresql-libs

6、安装如下包

   yum install libjpeg libpng libjpeg-devel libpng-devel

  yum install libxml2-devel openssl-devel libcurl-devel freetype freetype-devel openldap-devel

   cp -frp /usr/lib64/libldap* /usr/lib/

7、   安装php-5.4.8

   ./configure --prefix=/usr/local/php-5.4.8/ --with-config-file-path=/usr/local/php-5.4.8/etc --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-bmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm  --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 --without-pear

   make ZEND_EXTRA_LIBS='-liconv'

  make install

#创建php.ini

  cp php.ini-production /usr/local/php-5.4.8/etc/php.ini

#测试php  

 curl http://pear.php.net/go-pear |/usr/local/php-5.4.8/bin/php

 执行/usr/local/php-5.4.8/bin/phpize,出现如下错误 

Cannot find config.m4.

[root@AY1211191025228124935 memcached-1.4.15]# /usr/local/php-5.4.8/bin/phpize 

Cannot find config.m4. 

Make sure that you run '/usr/local/php-5.4.8/bin/phpize' in the top level source directory of the module

 

 

在/usr/local/src/soft/php-5.4.8/ext下找到这个工具

 

  来建立一个php扩展的一个框架

 

  [root@AY1211191025228124935 src]]#cd /usr/local/src/soft/php-5.4.8/ext

 

  [root@AY1211191025228124935 ext]# ./ext_skel --extname=sdomain

Creating directory sdomain

Creating basic files: config.m4 config.w32 .svnignore sdomain.c php_sdomain.h CREDITS EXPERIMENTAL tests/001.phpt sdomain.php [done].

 

To use your new extension, you will have to execute the following steps:

 

1.  $ cd ..

2.  $ vi ext/sdomain/config.m4

3.  $ ./buildconf

4.  $ ./configure --[with|enable]-sdomain

5.  $ make

6.  $ ./php -f ext/sdomain/sdomain.php

7.  $ vi ext/sdomain/sdomain.c

8.  $ make

 

Repeat steps 3-6 until you are satisfied with ext/sdomain/config.m4 and

step 6 confirms that your module is compiled into PHP. Then, start writing

code and repeat the last two steps as often as necessary.

[root@AY1211191025228124935 ext]# cd sdomain/

 

  [root@AY1211191025228124935 sdomain]# ls

 

  config.m4   CREDITS       php_sdomain.h  sdomain.php

config.w32  EXPERIMENTAL  sdomain.c      tests

 

  然后我们要修改文件顺序是

 

  configue.m4

 

  sdomain.c

 

  php_sdomain.h

使用文本编辑器打开config.m4文件,修改文件内容:

 

dnl PHP_ARG_WITH(my_module, for my_module support,

 

  dnl Make sure that the comment is aligned:

 

  dnl [ --with-my_module       Include my_module support])

 

修改成

 

  PHP_ARG_WITH(my_module, for my_module support,

 

  [ --with-my_module       Include my_module support])

 

  或者将

 

        (其实就是将这部分的dnl去掉,在这个文件里dnl就是注释的意思,相当于我们PHP里面的#或// 另外把他中间的一句描术也去掉)

 

然后保存退出

 

  然后在编辑

 

  Vi sdomain.c

 

  将文件其中的下列代码进行修改

 

/* Every user visible function must have an entry in my_module_functions[].

*/

function_entry my_module_functions[] = {

    PHP_FE(say_hello,    NULL) /* ?添加着一行代码 */

    PHP_FE(confirm_my_module_compiled,   NULL) /* For testing, remove later. */

    {NULL, NULL, NULL}   /* Must be the last line in my_module_functions[] */

};

 

  在文件的最后添加下列代码

 

PHP_FUNCTION(say_hello)

{

    zend_printf("hello sdomain!");

}

 

 

 

再修改:php_sdomain.h

 

vi php_sdomain.h

 

在PHP_FUNCTION(confirm_my_module_compiled); /* For testing, remove later. */ 这行的下面添加一行:

 

PHP_FUNCTION(say_hello); /* For testing, remove later. */

 

  保存文件退出

 

  然后我们就可以在这个目录下使用上面的命令了

 

 /usr/local/php-5.4.8/bin/phpize 

 

8、解压memcached-1.4.15.tar.gz

  tar xvzf memcached-1.4.15.tar.gz

  cd memcached-1.4.15

  ./configure --with-php-config=/usr/local/php-5.4.8/bin/php-config

  checking for libevent directory... configure: error: libevent is required.  You can get it from http://www.monkey.org/~provos/libevent/

  执行:yum install libevent-devel libevent

  再次执行

   ./configure --with-php-config=/usr/local/php-5.4.8/bin/php-config&& make && make install

 

9、解压cd eaccelerator-eaccelerator-42067ac.tar.gz

  tar xvzf eaccelerator-eaccelerator-42067ac.tar.gz

   cd eaccelerator-eaccelerator-42067ac

   /usr/local/php-5.4.8/bin/phpize

    ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php-5.4.8/bin/php-config 

     make && make install

 

10、解压ImageMagick-6.8.0-4.tar.bz2

   tar xvjf ImageMagick-6.8.0-4.tar.bz2

     cd ImageMagick-6.8.0-4

      ./configure && make && make install

11、解压imagick-3.0.1.tgz

      yum install ImageMagick-devel

      tar xvzf imagick-3.0.1.tgz

      cd imagick-3.0.1

       /usr/local/php-5.4.8/bin/phpize 

       ./configure --with-php-config=/usr/local/php-5.4.8/bin/php-config 

       make && make install

 

12、将在/usr/local/php-5.4.8/etc/php.ini中的extension_dir="./"修改为extension_dir = “extension_dir=/usr/local/php-5.4.8/lib/php/extensions/no-debug-non-zts-20100525"

     将在此后加入

     extension = "memcache.so"

     extension = "imagick.so"

      配置eAccelerator加速PHP

     mkdir /usr/local/eaccelerator_cache

    编辑 vim /usr/local/php-5.4.8/etc/php.ini 

  在最后输入如下内容:

[eaccelerator]

zend_extension="/usr/local/php-5.4.8/lib/php/extensions/no-debug-non-zts-20100525"

eaccelerator.shm_size="128"

eaccelerator.cache_dir="/usr/local/eaccelerator_cache"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="3600"

eaccelerator.shm_prune_period="3600"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

 

13、vi /etc/profile

      在最后增加如下:

    export PATH=$PATH:/usr/local/php-5.4.8/bin/:/usr/local/php-5.4.8/sbin

   保存退出,并输入source /etc/profile

 

14、解压并编译nginx-1.3.8.tar.gz

      tar xvzf nginx-1.3.8.tar.gz

       cd nginx-1.3.8

       yum install pcre-devel

     ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 

      make && make install

安装nginx完成

    vim /etc/rc.local,加入如下内容:

    ulimit -SHn 65535

/usr/local/php-5.4.8/sbin/php-fpm

/usr/local/nginx/sbin/nginx

 

 

    vi /etc/profile

      在最后增加如下:

    export PATH=$PATH:/usr/local/php-5.4.8/bin/:/usr/local/php-5.4.8/sbin:/usr/local/nginx/sbin/nginx

       最后保存退出后执行source /etc/profile

 

 

15、优化内核参数

  vi /etc/sysctl.conf

   在此文件的最后加入如下内容

  net.ipv4.neigh.default.gc_stale_time=120

net.ipv4.tcp_max_syn_backlog = 65536

net.core.netdev_max_backlog = 32768

net.core.somaxconn = 32768

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse =1

net.ipv4.tcp_mem =9450000 915000000 927000000

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.ip_local_port_range = 1024 65535

保存并退出,执行sysctl -p,使之生效

分享到:
评论

相关推荐

    CentOS 下架设 Nginx+PHP 5.4.10+PostgreSql

    在本文档中,我们将详细介绍如何在 ...通过以上步骤,你就成功地在 CentOS 上搭建了一个 Nginx+PHP 5.4.10 的服务器环境,并且集成了 PostgreSQL 数据库。这个配置可以支持Web应用程序的高效运行,提供稳定的服务。

    fastdfs的安装手册说明+配置文件+fastdfs安装包+nginx安装包

    下载Nginx源码,解压后配置并编译安装,确保编译时添加FastDFS模块`--with-http_fastdfs_module`。 2. 配置Nginx 在Nginx配置文件中添加FastDFS模块的配置,如`/etc/nginx/nginx.conf`,设置连接Tracker的地址和...

    php中用于支持postgresql扩展的文件

    在给定的压缩包文件中,尽管没有提供具体的源代码或库文件,我们可以根据常规流程来探讨如何在PHP中安装和使用PostgreSQL扩展。 首先,`DLL工具.exe`可能是一个动态链接库管理工具,用于帮助用户处理或安装所需的...

    Git服务器端编译安装源码

    总的来说,Git服务器端编译安装涉及的知识点包括:Git版本控制原理、Linux环境下的源码编译、系统依赖管理、服务器配置管理、用户权限控制、版本库管理以及客户端与服务器的交互操作。这个过程既锻炼了开发者的技术...

    基于Linux Centos 7.0+系统编写Nginx-1.23.1一键安装的shell脚本,离线安装板

    为避免您下载了不是您想要的安装包,请先到这个地址:...为了解放双手,遂编写了这个nginx服务编译、安装脚本文件,顺便分享出来,写的不好的地方还望理解,如有技术和创新较好的思想,望留言相互学习。

    麒麟系统 nginx依赖aarch64架构

    在麒麟系统中安装Nginx,通常需要通过源码编译或者使用麒麟软件仓库中的预编译版本。源码编译时,需要确保所有依赖项都已安装,例如GCC编译器、make工具等,并且配置编译选项以适应麒麟系统的环境。预编译版本则可以...

    zabbix5.0-编译安装.zip

    sudo yum install gcc libxml2-devel libcurl-devel openssl-devel libiconv-devel zabbix-api-perl zabbix-java-gateway zabbix-api-devel mysql-devel postgresql-devel php php-mysql nginx ``` **下载Zabbix...

    zabbix安装部署手册

    编译安装 PHP,需要下载 PHP 的源代码,解压缩,编译并安装: `wget http://php.net/get/php-5.5.10.tar.gz/from/this/mirror tar -zxvf php-5.5.10.tar.gz cd php-5.5.10 ./configure make make install` 3.2 ...

    PHP三端小鹿直播全套完整源码包含网站+安卓+苹果

    在实际部署和运行这套源码时,开发者需要准备合适的服务器环境,例如安装Apache或Nginx作为Web服务器,配合MySQL或PostgreSQL作为数据库管理系统。同时,需要配置SSL证书以实现HTTPS安全连接,确保用户数据的安全...

    基于PHP的BlogMethodsBasic(基础版)JSPWeb安装包源码.zip

    7. 安装和部署:部署基于PHP的Web应用程序通常涉及设置服务器环境(如Apache+PHP或Nginx+PHP-FPM)、配置数据库、上传源码、设置权限等步骤。对于JSP应用,可能还需要Tomcat或Jetty等Servlet容器。 8. 版本控制:...

    OneinStack - PHP,JAVA 部署工具.zip

    LNMPALTMP脚本属性持续更新,提供Shell交互和自动安装源码编译安装,最稳定的源码是最新版本,从官网下载一些安全优化提供多种数据库版本(MySQL-8.0、MySQL-5.7、MySQL-5.6、MySQL-5.5、MariaDB-10.11、MariaDB-...

    pcre-8.21 源代码

    解压后,开发者可以查看源代码结构,理解函数和类的设计,追踪代码流程,甚至编译和调试代码,以了解其工作原理。 **总结** "Pcre-8.21 源代码"提供了深入研究Perl兼容正则表达式库及其在Nginx rewrite模块中应用...

    PHP基于Linux的远程管理系统服务器端的实现(源代码+论文).zip

    在本项目中,"PHP基于Linux的远程管理系统服务器端的实现(源代码+论文)",我们探讨了如何利用PHP编程语言构建一个能在Linux操作系统上运行的远程管理系统。这个系统主要针对服务器端,允许用户通过网络对Linux服务器...

    php-5.5.30.tar.gz

    【标题】"php-5.5.30.tar.gz" 是一个包含PHP 5.5.30版本源代码的压缩文件,它主要用于在Linux或类Unix系统上进行手动编译安装PHP。这个版本的PHP是在2015年发布的一个稳定版本,包含了对Web开发所需的多种功能和性能...

    灵动云商城+php后台+后台配置教程【小程序源码】.rar

    【灵动云商城+php后台+后台配置教程】是一款基于PHP技术的小程序源码,它包含了构建一个完整电商平台所需的关键组件。这个源码包为开发者提供了一个便捷的平台,用于快速搭建自己的在线商店,并且附带了后台管理系统...

    PHP微信办公OA源码安装版

    安装版源码通常包含部署指南,讲解如何在服务器上配置环境(如PHP、Nginx、Apache)、安装依赖、配置数据库连接等。运维方面涉及日志管理、性能监控、故障排查等。 通过学习这个PHP微信办公OA源码安装版,开发者...

    基于PHP的PgAdmin数据管理系统源码.zip

    【标题】"基于PHP的PgAdmin数据管理系统源码"指的是一个使用PHP编程语言开发的数据管理系统的源代码。PgAdmin是PostgreSQL数据库管理系统的图形界面工具,通常用于方便地创建、管理和维护PostgreSQL数据库。这个系统...

    PHP版_游戏扫码登录器程序源码.rar

    【PHP版_游戏扫码登录器程序源码.rar】是一个基于PHP开发的游戏扫码登录器的源代码包。这个程序的核心功能是允许用户通过扫描二维码来实现快速登录游戏,从而提高用户体验并增强安全性。以下是对该源码包中涉及的几...

    php-5.6.3 source code package

    开发者可以通过编译这些源代码,定制适合自己服务器环境的PHP版本,或者进行二次开发,实现特定功能。 PHP 5.6.3版本引入了若干关键特性。其中,对Opcache的改进是其亮点之一。Opcache是一个内置的PHP加速器,它...

Global site tag (gtag.js) - Google Analytics