zoukankan      html  css  js  c++  java
  • 构建linux下的web服务器

    1、从源码安装 apache
    =================================================================
    apache
    -----------------------------------------------------------------
    ./configure --prefix=/usr/local/httpd --enable-mods-shared=all --enable-so --enable-deflate --enable-rewrite --enable-info

    make

    make install

    # 查看配置参数
    httpd -V

    2、源码安装 php
    =================================================================
    php
    -----------------------------------------------------------------
    dependences:
    libxml2.x86_64
    libxml2-devel.x86_64
    ./configure --prefix=/usr/local/php-5.2.17 --with-apxs2=/usr/local/httpd-2.2.22/bin/apxs --with-mysql=shared,/usr --with-zlib-dir --with-mysqli=/usr/lib64/mysql/mysql_config --libdir=/usr/lib64 --with-libdir=lib64 --with-pdo-mysql --with-curl --with-gd --with-config-file-path=conf/php.ini

    make && make install

    编译php生成扩展

         进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:
         cd curl
         执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
         /usr/local/php5/bin/phpize
         运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
                                     environment variable is set correctly and then rerun this script.“,需要安装autoconf:
         yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)

    生成配置文件,并编译生成模块:

         /usr/local/php-5.2.17/bin/phpize
         ./configure --enable-shared --with-eaccelerator-info --with-php-config=/usr/local/php-5.2.17/bin/php-config  
         make && make install  

    这样,curl.so就被复制到PHP对应目录(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/)

    3、源码编译 nginx

    =================================================================
    configure with nginx:
    -----------------------------------------------------------------
    ./configure configure arguments: --prefix=/usr/local/nginx-1.2.6 --with-pcre=/app/temp/pcre-8.32 --with-debug --with-http_realip_module --with-poll_module --with-ipv6 --with-http_ssl_module --with-http_geoip_module --with-http_gzip_static_module --with-mail --with-mail_ssl_module --with-http_stub_status_module --add-module=/NGX_CONCAT_SOURCE_FILE_PATH

    make && make install

    # 查看配置参数
    /usr/local/nginx-1.2.8/sbin/nginx -V

    4、安装 apache rpaf 模块

    =================================================================
    安装 mod_rpaf 模块
    -----------------------------------------------------------------
    安装
    tar zxvf mod_rpaf-0.6.tar.gz
    cd mod_rpaf-0.6
    /usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
    接着在 httpd.conf 中添加
    LoadModule rpaf_module modules/mod_rpaf-2.0.so
    RPAFenable On
    RPAFsethostname On
    RPAFproxy_ips 127.0.0.1 # 填写Nginx的的ip
    RPAFheader X-Forwarded-For
    这样就可以获取客户端访问的真实IP了

  • 相关阅读:
    操作系统:DOS
    袁氏-人物:袁淑
    移植linux-2.6.32.2到qq2440
    qq2440启动linux后出现错误提示request_module: runaway loop modprobe binfmt-464c
    qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1-1: device not accepting address 8, error -110
    ubuntu14.04 64bit安装teamviewer
    vi 的使用
    添加了环境变量,然而交叉编译器还是无法运行的解决方案
    linux下route命令使用实战
    ubuntu14.04纯命令行下连接有线网和无线网
  • 原文地址:https://www.cnblogs.com/AloneSword/p/2950669.html
Copyright © 2011-2022 走看看