nginx反向代理配置实例(前nginx+后apache)
Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了。Igor 将源代码以类BSD许可证的形式发布。Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,大部分门户网站都把它作为首选WEB前端。

nginx与apache相比,处理静态页面很强大,对于动态页面,它不及apache

用nginx 前台处理静态http请求,用apache后台处理php动态页面。

主机用相同的根目录,但访问的端口不一样。nginx 用80,apache用88。当访问http://10.0.0.99的时候,你访问的是(nginx),它会在根目录下面查找静态文件(css ,gif,html ·······),如果找到它会把信息直接返回给浏览器,如果找不到(像.php的文件),它会通过( proxy_pass: http://10.0.0.99:88/;)转向apache相对应的路径请求。

一、安装nginx

nginx安装需要 pcre 源码的支持

建立用户及组

[root@localhost /]# /usr/sbin/groupadd  www
[root@localhost /]# /usr/sbin/useradd -g www www
[root@localhost ~]# cd /home/admin/
[root@localhost admin]# tar zvxf nginx-1.5.6.tar.gz
[root@localhost admin]# cd nginx-1.5.6
[root@localhost nginx-1.5.6]# mkdir /usr/local/nginx
[root@localhost nginx-1.5.6]# ./configure --user=www --group=www \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-openssl=/usr \
--with-pcre=/home/admin/pcre-8.33 \#pcre源码包路径
--with-cc-opt='-O2'\
--with-cpu-opt=你的cpu型号

  

注意:--with-pcre=/home/admin/pcre-8.33指向的是源码包解压的路径,而不是安装的路径,否则会报错
[root@localhost nginx-1.5.6]# make && make install

#注意上文中的--with-cc-opt='-O2' --with-cpu-opt=opteron 这是编译器优化,目前最常用的是-02 而不是3.后面对应CPU的型号
#启动nginx

[root@localhost nginx-1.5.6]# /usr/local/nginx/sbin/nginx

Nginx开启命令:/usr/local/nginx/sbin/nginx

Nginx停止命令: /usr/local/nginx/sbin/nginx -s stop
Nginx的热启动:#usr/local/nginx/sbin/nginx -s reload

#修改配置文件

[root@localhost nginx-1.5.6]# cd /usr/local/nginx/conf/
[root@localhost conf]# cp nginx.conf nginx.conf.back #备份

  

nginx 处理下图片,html等静态的东西.其它动态由apache处理.因此apache也需要做一些参数调整.
设置图片等过期时间.缓解请求.

[root@localhost conf]# vi nginx.conf

  

#user  nobody;
worker_processes 8; error_log /usr/local/nginx/logs/error.log; #配置错误日志目录
#error_log logs/error.log notice;
#error_log logs/error.log info; pid /usr/local/nginx/logs/nginx.pid; #配置进程pid events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #发送文件功能打开
tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on;
server {
listen 88; #nginx 默认端口是80
server_name 10.0.0.99; #服务器域名 #charset koi8-r; #access_log logs/host.access.log main;
#access_log logs/host.access.log main; location / {
proxy_pass http://10.0.0.99:80/; #nginx代理的服务器
proxy_redirect default;
root /home/wwwroot; #项目跟目录
index index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
location ~ \.php$ {
proxy_pass http://10.0.0.99:80; #所有的php文件转向apache
} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#}

---------------

修改apache配置文件

 Listen 80   #修改成你的端口    

<VirtualHost *:80>   #依据你的环境修改
ServerName 10.0.0.99
DocumentRoot "/home/wwwroot"
</VirtualHost>

  

安装nginx 做反向代理的更多相关文章

  1. CentOS 7 安装Nginx做反向代理

    题记 须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0. 跳过一些繁琐的问题,直接记录核心 步骤 (1)centos 安装在VM中.因此须要注意网络连接问题 (2)安装 ...

  2. 使用nginx做反向代理

    很多同学喜欢用nginx做反向代理访问某些网站,原因大家都懂的,今天老高记录一下如何使用nginx做反向代理以及如何配置和优化nginx的反向代理. 准备工作 首先,你需要一个稳定的国外的便宜的VPS ...

  3. CentOS 7 安装 Nginx 配置反向代理

    Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Ngi ...

  4. 利用nginx做反向代理解决前端跨域问题

    最近朋友再群里提了一个问题,他们公司给他提供了一个获取数据的接口,在浏览器访问这个接口能获取到json数据,但是放在项目里使用ajax就产生了跨域问题,一般这个需要提供接口的后台方面需要做跨域处理,但 ...

  5. wsl 2 unbuntu 部署 asp.net core 使用 nginx 做反向代理,调试文件上传失败

    继上一篇 asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权 的公司内部项目上线后发现文件上传功能有问题. 上传的文件超过50M以后前端就报错了,没有状态返回,也没有响 ...

  6. nginx做反向代理并防盗链

    nginx做反向代理真的非常简单,只需设置location+proxy_pass即可. 防盗链配置有些复杂,需要注意的地方: 在防盗链的location中需要再设置一下proxy_pass(在这里走了 ...

  7. 用nginx做反向代理来访问防外链图片

    用nginx做反向代理来访问防外链图片 女儿的博客从新浪搬到wordpress后,发现原来博客上链接的新浪相册的图片都不能访问了,一年的博客内容,一个个去重新上传图片,修正链接也是个大工程.还是得先想 ...

  8. 【Nginx】使用Nginx做反向代理时,关于被代理服务器相应的超时设置

    > 参考的优秀文章 Module ngx_http_proxy_module > 设置等待被代理服务器的最大响应时间 使用Nginx做反向代理时,因被代理服务器因业务确实复杂,需时较久,往 ...

  9. Nginx做反向代理总是被系统kill

    公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出. 网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux ...

随机推荐

  1. [转载]android中The connection to adb is down,问题和解决

    原网址:http://blog.sina.com.cn/s/blog_5fc93373010164p3.html 今天我出现了第3个错误,于是百度了一下.感觉这篇博客对我挺有帮助,推荐给大家.以下是原 ...

  2. jdbc——CallableStatement,cst调用存储过程

    package CST对象调用存储过程; import java.sql.CallableStatement; import java.sql.Types; import org.junit.Test ...

  3. (重要) html概念之 input:name与id详解

    实例: 带有两个文本字段和一个提交按钮的 HTML 表单: <form action="form_action.asp" method="get"> ...

  4. Android url中文编码问题

    最近项目遇见一个很奇葩问题,关于URL问题,项目中加载图片,图片的URL含有中文,但是,我的手机可以加载,没问题,同事也都可以,但是测试手机却不可以,加载失败,找到问题,就是URL含有中文问题. 解决 ...

  5. zmodem协议的使用(SecureCRT)

    SecureCRT可以使用zmodem协议来快速的传送文件,使用非常方便.对于Linux系统,大多数发行版本都自带有rz和sz命令.在SecureCRT中选择Options->Session O ...

  6. 在右键添加Cmder here选项,添加启动Cmder的快捷键

    右键菜单添加“Cmder here” 打开cmder,在其中输入: cmder /register user 或 cmder /register all 即可   设置启动cmder的快捷键 右键 C ...

  7. flask-sqlalchemy 关系表简单操作

    from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemyfrom flask.ext.migrate import Migr ...

  8. 组合数(DFS)

    组合数 点我   描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合.   输入 输入n.r. 输出 按特定顺序输出所有组合.特定顺序 ...

  9. bokeh-scala

    使用bokeh-scala进行数据可视化 目录 前言 bokeh简介及胡扯 bokeh-scala基本代码 我的封装 总结 一.前言 最近在使用spark集群以及geotrellis框架(相关文章见h ...

  10. EasyUI 使用

    1.面板的使用 <div id="box" > <p>内容区域</p> </div> <div id="tt&quo ...