yuanqiao 发表于 2018-11-10 12:04:46

Nginx+Apache环境

  项目生产环境:

  操作系统:CentOS>  需要的软件:
  httpd-2.4.23.tar.gz
  apr-1.5.2.tar.gz
  apr-util-1.5.4.tar.gz
  项目任务:搭建Nginx+Apache环境
  项目目的:Nginx处理静态请求,动态请求交给Apache和PHP进行处理。即Nginx作为前端Web服务器,而Apache在后端只处理动态请求,实现动静态分离。
  实战技巧:如何解决80端口冲突的问题?
  安装难点:apr、apr-util软件包的安装及Apache配置。
  Nginx安装步骤:http://blog.51cto.com/sky9896/1791629
  Apache的安装与使用:
  # pwd
  /tools
  1.获取软件:
  #
  wget http://archive.apache.org/dist/httpd/httpd-2.4.23.tar.gz
  #
  Wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
  #
  Wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
  #
  Wget http://exim.mirror.fr/pcre/pcre-8.10.tar.gz
  2.安装基础包:
  # yum install gcc gcc-c++ zlib zlib-devel openssl openssl-devel libtool pcre-devel openssl-devel –y
  3.安装配置环境
  # tar -zxvf httpd-2.4.23.tar.gz
  # tar -zxvfapr-1.5.2.tar.gz
  # tar -zxvfapr-util-1.5.4.tar.gz
  # mv apr-1.5.2 httpd-2.4.23/srclib/apr
  # mv apr-util-1.5.4 httpd-2.4.23/srclib/apr-util
  # ./configure --prefix=/usr/local/pcre && make && make install
  #
  ./configure \
  --prefix=/usr/local/apache2 \
  --enable-mods-shared=all \
  --enable-deflate \
  --enable-speling \
  --enable-cache \
  --enable-file-cache\
  --enable-disk-cache\
  --enable-mem-cache\
  --enable-ssl \
  --with-ssl=/usr/local/openssl/\
  --enable-rewrite \
  --enable-so \
  --with-apr=/usr/local/apr/\
  --with-apr-util=/usr/local/apr-util/\
  --with-pcre=/usr/local/pcre \
  --with-included-apr
  #make && make install
  # pwd
  /usr/local/apache2/bin
  # ./apachectl    #启动服务
  AH00557: httpd: apr_sockaddr_info_get() failed for sky9890

  AH00558: httpd: Could not>  (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
  no listening sockets available, shutting down
  AH00015: Unable to open logs
  #ServerName www.example.com:80#把httpd.conf文件中该行的#去掉
  # nginx占用了80端口号
  # lsof -i:80

  COMMAND    PID   USER   FD   TYPE DEVICE>  AliYunDun 1410   root   18uIPv4   9251      0t0TCP 172.19.68.202:37408->106.11.68.13:http (ESTABLISHED)
  nginx   2123   root    6uIPv411508      0t0TCP *:http (LISTEN)
  nginx   2124 nobody    6uIPv411508      0t0TCP *:http (LISTEN)
  # vi httpd.conf
  Listen8080   #修改成8080端口,不冲突了
  # ./apachectl
  AH00557: httpd: apr_sockaddr_info_get() failed for sky9890

  AH00558: httpd: Could not>  # lsof -i:8080

  COMMAND   PID   USER   FD   TYPE DEVICE>  httpd   17207   root    3uIPv455500      0t0TCP *:webcache (LISTEN)
  httpd   17208 daemon    3uIPv455500      0t0TCP *:webcache (LISTEN)
  httpd   17209 daemon    3uIPv455500      0t0TCP *:webcache (LISTEN)
  httpd   17210 daemon    3uIPv455500      0t0TCP *:webcache (LISTEN)
  httpd   17306 daemon    3uIPv455500      0t0TCP *:webcache (LISTEN)
  后续配置(优化Apache)
  # vi /etc/init.d/httpd
  #!/bin/bash
  #chkconfig:35 85 15
  /usr/local/apache2/bin/apachectl $1
  # chmod +x /etc/init.d/httpd
  root@sky9890 /]# service httpd stop
  httpd (no pid file) not running
  # service httpd start
  # service httpd restart
  测试地址:http://101.132.79.69:8080/
  It works!
  Apache的基本配置及动态分离配置,下节分享。

页: [1]
查看完整版本: Nginx+Apache环境