(本文出自yangjj ^_^)
 
前提:
1.没联网,yum挂。
2.至少要有GCC,要不玩个屁。
3.你有充足的咖啡并且有几个小时时间不想打dota。

4.你要做集群。

以上条件不满足其一,看到这里就谢谢了。

占位符:

 
======关于APACHE安装和配置======
--离线包解压并进入解压后文件夹
tar -zvxf httpd-2.2.25.tar
cd httpd-2.2.25
 
./configure \
--enable-mods-shared=max \
--enable-module=most \
--with-mpm=prefork \
--enable-ext-filter \
--enable-file-cache \
--enable-suexec \
--enable-cache \
--enable-disk-cache \
--enable-mem-cache \
--enable-file-cache \
--enable-suexec \
--enable-ext-filter \
--enable-so \
--enable-headers \
--enable-rewrite \
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-http \
--enable-proxy-balancer
 
--这里配置apache代理和反向代理不用这个也成
--enable-deflate \
--报错 error: mod_deflate has been requested but can not be built due to prerequisite failures,那是没有安装zlib包
yum install zlib-deve
 
--不指定路径默认在/usr/local/apache2
--指定路径加参数 --prefix=/usr/local/^$&#你特立独行的路径/
 
 
--如果configure失败又手贱make,可能导致make失败,最好
make clean
ldconfig
--重新configure成功后再make
make
make install
 
 
--完成之后在/usr/local/apache2/bin下
./httpd -l
--查看httpd的模块
Compiled in modules:
  core.c
  mod_authn_file.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_default.c
  mod_auth_basic.c
  mod_file_cache.c
  mod_cache.c
  mod_disk_cache.c
  mod_mem_cache.c
  mod_ext_filter.c
  mod_include.c
  mod_filter.c
  mod_log_config.c
  mod_env.c
  mod_headers.c
  mod_setenvif.c
  mod_version.c
  mod_proxy.c
  mod_proxy_connect.c
  mod_proxy_ftp.c
  mod_proxy_http.c
  mod_proxy_scgi.c
  mod_proxy_ajp.c
  mod_proxy_balancer.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_suexec.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c
--这几个没有就fuck up了!
 
service httpd status
--如果报错并且通过
chkconfig --list httpd
--检查不是系统服务
--则添加httpd为系统服务
chkconfig --add httpd
chkconfig httpd on
--如果添加系统服务报错:service httpd does not support chkconfig
--直接用安装的httpd配置覆盖rd.d/init.d的httpd
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
--之后
vi /etc/rc.d/init.d/httpd
--#!/bin/sh后加上
# chkconfig: 2345 10 90
# description: Activates/Deactivates Apache Web Server
 
 
--如果apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80
ps -ef|grep httpd
--或者(前提是你没改过httpd端口)
lsof -i:80 
--kill掉
 
--如果报如下错误
--httpd: apr_sockaddr_info_get() failed for ckstmis-app2
--httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
vi /usr/local/apache2/conf/httpd.conf
--屁股加上
ServerName localhost:
 
--最后通过curl访问it works(没有GUI,没有内网可视化远程桌面的苦逼)
 
 
======关于APACHE代理和反向代理云云======
 
 
--简单的配置修改,针对httpd.conf(/usr/local/apache2,即安装目录下的)
 
--将apache监听端口改成nat的内网端口
Listen 8080
 
--屁股增加反向虚拟主机include文件
# Virtual hosts
Include conf/httpd-vhosts.conf
 
--原配置及说明按需参考
 
 
 
--简单代理配置:
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://mycluster>
BalancerMember http://ip1:8080 route=1
BalancerMember http://ip2:8080 route=2
ProxySet stickysession=ROUTEID
</Proxy>
ProxyPass /test balancer://mycluster

--这样通过
curl http://localhost :8080/test;
--就会被重定向的到8080上,只是在环境比较裸的情况下简单测试,出现it works!正常。

 
 
--稍复杂反向代理配置
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; " env=BALANCER_ROUTE_CHANGED
<Proxy balancer://cluster名>
       Order deny,allow
       Allow from all
       BalancerMember ajp://ip1:偏移端口 route=节点名称1:工程路径
       BalancerMember ajp://ip2:偏移端口 route=节点名称2:工程路径
       ProxySet stickysession=ROUTEID
</Proxy>
 
<VirtualHost *:8080>
   
    Timeout 7200
    ProxyRequests Off    
 
    ProxyPass /工程路径 balancer://cluster名/工程路径
    ProxyPassReverse /工程路径  balancer://cluster名/工程路径/
    #反向代理的最后的/ 最好加下,网评不一,加了肯定不会挂
 
    ProxyPreserveHost On
    #KeepAliveTimeout 500
    #MaxKeepAliveRequests 200
    #ProxyPassReverseCookiePath / /
</VirtualHost>

恶劣条件下的apache配置(Linux)的更多相关文章

  1. [转] Ubuntu 12.04下LAMP安装配置 (Linux+Apache+Mysql+PHP)

    我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是 “Linux+Apache+Mysql+PHP这 ...

  2. 在linux下的apache配置https协议,开启ssl连接

    环境:linux 配置https协议,需要2大步骤: 一.生成服务器证书 1.安装openssl软件 yum install -y openssl mod_ssl 2.生成服务器私匙,生成server ...

  3. window下为apache配置ssl证书

    转载自 子非鱼 的博客稍作修改 第一步:依赖 配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块.还好apache/bin目录下有libeay32. ...

  4. 虚拟机lamp环境下,Apache配置虚拟主机

    1.在Apache配置文件中开启虚拟主机功能:即:Include etc//extra/httpd-vhosts.conf把前面的#去掉: 2.在extra目录下找到文件httpd-vhosts.co ...

  5. windows下的pycharm配置 linux环境

    由于最近学习python的需要,为了方便程序的调试,尝试在Windows下的Pycharm远程连接到虚拟机中Centos下的python环境.(这里我采用的是ssh的远程连接)1.准备工作: 固定ce ...

  6. win10下关于apache配置虚拟主机

    apache安装完默认是不开启虚拟服务器的,如果希望在本地apache上面配置虚拟服务器,类似于在网上买的虚拟主机,可以按照以下步骤进行配置: 1,修改本机的hosts文件,如下 示例:127.0.0 ...

  7. CentOS下的apache配置支持php

    修改Apache的配置文件httpd.conf(vi /etc/httpd/conf/httpd.conf) DirectoryIndex index.html index.php #添加index. ...

  8. Apache配置域名

    Apache配置域名 在WIN下安装APACHE配置虚拟目录和UNIN下基本是一样的就是修改httpd.conf1:单个IP对应单个域名例如:www.phpunion.com对应192.168.1.1 ...

  9. apache 配置防盗

    防盗链目的:防止其他网站盗用自己的网站而增加额外的流量损失 SetEnvIfNoCase Referer "^http://.*\.yourdomin\.com" local_re ...

随机推荐

  1. android开发(43) 动画演示,会跑的小人,从屏幕左侧跑到右侧

    想做一个动画,一个会跑的小人,从屏幕右侧跑道右侧,于是做了个尝试,上图: 要完成这样需要三步: 1. 做一个 帧动画 (frame animation),由多张图片组成,组成小人连续跑动的样子. 2. ...

  2. Android训练课程(Android Training) - NFC基础

    NFC 基础 本文档介绍了在Android上的基本的NFC任务.它说明了如何发送和接收的NDEF消息(NDEF messages)的形式的表单里包含的NFC数据(NFC data),并介绍Androi ...

  3. 选择合适NFC标签

    NFC论坛选择的初始标签格式适用于最广泛的应用程序和装置性能: 类型1基于ISO14443A,目前由Innovision研究和技术公司独家供应 (TopazTM),具有96字节内存,成本低,应用广泛. ...

  4. 【C】——信号量 互斥锁 条件变量的区别

    信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里).而互斥锁是用在多线程多任务互斥的,一个线程占用了某 ...

  5. nginx 4层tcp代理获取真实ip

    举个例子,Nginx 中的代理配置假如是这样配置的: location / { proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_a ...

  6. node学习笔记4——get数据传递

    nodejs中,关于将接收到的数据处理为json格式用到的是 url 模块. 主要用到是下面3个东东: url.parse   url.pathname url.query 我们看一个简单的例子: 先 ...

  7. Sublime运行Matlab

    使用Sublime来作为Matlab的编辑器.Sublime编辑+Matlab命令行(terminal)运行的开发环境搭建. 前期准备 Matlab 2014a (Windows或Linux平台,这里 ...

  8. [maven] settings 文件 国内镜像站

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  9. SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.了解SpringBoot的基本概念 2.具体内容 在之前所建立的 SpringBoot 项目只是根据官方文档实现的一个基础程 ...

  10. CI框架 -- 在视图文件中使用 PHP 替代语法

    如果你不使用 CodeIgniter 的 模板引擎, 那么你就只能在视图文件中使用纯 PHP 语法了.为了精简视图文件, 使其更可读,建议你在写控制结构或 echo 语句时使用 PHP 的替代语法. ...