摘要:nginx反向代理的原理:外部通过ip加端口访问nginx,nginx接收到外部请求,通过ip解析访问内部服务器,内部服务器再将数据传回Nginx服务器,而Nginx再把数据传回给外部客户机。

准备三台虚拟机:两台apache服务器192.168.161.25:2020  192.168.161.5:3080,一台Nginx服务器192.168.161.15:8888

首先,centos7搭建Nginx服务器

192.168.161.15配置Nginx服务器

安装gcc-c++(编译nginx源码),pcre,pcre-devel(正则表达式),zlib,zlib-devel(解压方式),openssl,openssl-devel(密码库)

yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

然后去官网下载nginx包 https://nginx.org/en/download.html

选择版本 我选择最新版

wget https://nginx.org/download/nginx-1.13.8.tar.gz  #我下载到/tmp目录下临时文件里面

接着解压

tar -zxvf nginx-1.13..tar.gz 

进入解压文件

cd nginx-1.13.

然后编译且安装

./configure && make &&make install

安装完成后启动nginx

nginx默认目录为/usr/local/nginx/sbin/

cd /usr/local/nginx/sbin/

./nginx 表示开启nginx

./nginx -s stop 表示强制kill掉nginx

./nginx -s quit  停止了nginx进行中服务再关掉进程 推荐这样关闭

./nginx -s reload 杀死进程再重启

netstat -nltp|grep nginx #查看nginx端口进程

如图

接着网页打开

http://192.168.161.15 出现如图

搭建nginx服务器完成

nginx配置信息在 /usr/local/nginx/conf/nginx.conf 或者在该目录自己添加一个 xxx.conf也能实现nginx代理功能

直接使用nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

然后在http{}里面添加

 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;
upstream web{ #####################
server 192.168.161.25: weight=;   ####################
server 192.168.161.5: weight=;            ####################
}  
      server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
proxy_pass http://web; ######################
root html;
index index.html index.htm;
}

#代表修改的内容地方~ 如图 

接着重启nginx

/usr/local/nginx/sbin/./nginx -s reload

网页输入 http://192.168.161.15:8888 就能完成访问161.5和161.25的web服务器

最新文章

  1. CPU状态信息us,sy,ni,id,wa,hi,si,st含义
  2. sql复习第四次
  3. call和apply求最大和最小值
  4. 服务器断电,Oracle数据库无法启动解决方案
  5. (转载)关于Apache 的两种工作模式
  6. Python Socket,How to Create Socket Server? - 网络编程实例
  7. cf C. Dima and Containers
  8. html ui设计案例
  9. Cocos2dx 3.0 过渡篇(二十五)死不了的贪食蛇(触摸版)
  10. php中的foreach函数
  11. Velocity China 2016 Web 性能与运维大会:构建快速、可扩展的弹性网站
  12. MYSQL:SQL中Group By的使用
  13. yarn安装使用
  14. 为什么说Java程序员到了必须掌握Spring Boot的时候?
  15. [Android] Android 锁屏实现与总结 (二)
  16. centos7+apache+svn配置 踩坑,注意权限问题。apache应用目录checkout应用 必须用这个命令:svn co file:///home/svn/test/ test ,通过svn add * &&commit 及任意修改都是不行的
  17. WinForm textbox 全选
  18. SQL语句导致性能问题
  19. iOS上Delegate的悬垂指针问题
  20. [从jQuery看JavaScript]-变量与作用域链

热门文章

  1. [NOI2015]品酒大会(后缀树+DP)
  2. nginx编译支持HTTP2.0
  3. mysql5.7 安装方法 (跟旧的不一样了)
  4. jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法
  5. codeforces248(div1) B Nanami's Digital Board
  6. OCP-1Z0-051-题目解析-第50题
  7. 树莓派学习路程No.2 GPIO功能初识 wiringPi安装
  8. nj03---阻塞和线程
  9. 25.不改变原生数据的STL algorithm
  10. GridView 绑定 ObjectDataSource