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了

  • 相关阅读:
    《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?
    伍迷七八月新浪微博集锦
    《大话数据结构》第9章 排序 9.7 堆排序(下)
    《大话数据结构》第3章 线性表 3.8.2 单链表的删除
    《大话数据结构》第9章 排序 9.5 直接插入排序
    《大话数据结构》第9章 排序 9.8 归并排序(上)
    《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
    《大话数据结构》第1章 数据结构绪论 1.1 开场白
    《大话数据结构》第9章 排序 9.1 开场白
    [AWS] Assign a public IP address to an EC2 instance after launched
  • 原文地址:https://www.cnblogs.com/AloneSword/p/2950669.html
Copyright © 2011-2022 走看看