Nginx  是一个高性能的 HTTP 和反向代理服务器,本节以实际实例介绍如何实现Nginx

反向代理。

1.  安装Nginx

安装Nginx之前,首先安装相关模块的依赖库:

这里安装Pcre和Openssl,分别用来支持http Rewrite模块的正则表达式和http ssl模块.

所有软件都由官网获取最新版本.

[root@localhost nginx]# tar zxvf pcre-8.35.tar.gz
[root@localhost nginx]# cd pcre-8.35
[root@localhost pcre-8.35]# ./configure
[root@localhost pcre-8.35]# make
[root@localhost pcre-8.35]# make install
[root@localhost pcre-8.35]# ln -s /usr/local/lib/libpcre.so.1 /lib64/
#openssl安装
[root@localhost nginx]# tar zxvf openssl-1.0.1g.tar.gz
[root@localhost nginx]# cd  openssl-1.0.1g
[root@localhost openssl-1.0.1g]# ./config --prefix=/usr/local/openssl
[root@localhost openssl-1.0.1g]# make && make install

开始安装Nginx服务器软件:

[root@localhost nginx]# tar zxvf nginx-1.7.1.tar.gz
[root@localhost nginx]# cd nginx-1.7.1
[root@localhost nginx-1.7.1]# ./configure --prefix=/usr/local/nginx  --with-select_module --with-poll_module  --with-http_ssl_module  --with-http_stub_status_module  --with-http_gunzip_module --with-openssl=/usr/local/src/nginx/openssl-1.0.1g
#配置摘要
Configuration summary+ using system PCRE library+ using OpenSSL library: /usr/local/src/nginx/openssl-1.0.1g+ md5: using OpenSSL library+ sha1: using OpenSSL library+ using system zlib librarynginx path prefix: "/usr/local/nginx"nginx binary file: "/usr/local/nginx/sbin/nginx"nginx configuration prefix: "/usr/local/nginx/conf"nginx configuration file: "/usr/local/nginx/conf/nginx.conf"nginx pid file: "/usr/local/nginx/logs/nginx.pid"nginx error log file: "/usr/local/nginx/logs/error.log"nginx http access log file: "/usr/local/nginx/logs/access.log"nginx http client request body temporary files: "client_body_temp"nginx http proxy temporary files: "proxy_temp"nginx http fastcgi temporary files: "fastcgi_temp"nginx http uwsgi temporary files: "uwsgi_temp"nginx http scgi temporary files: "scgi_temp"
[root@localhost nginx-1.7.1]# make && make install

过程无误,完成安装。

启动Nginx服务:

[root@localhost nginx-1.7.1]# /usr/local/nginx/sbin/nginx
#查看nginx服务进程
[root@localhost openssl-1.0.1g]# ps -aux|grep nginx
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root     26592  0.0  0.1  19288   812 ?        Ss   17:46   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   26593  0.0  0.3  19724  1672 ?        S    17:46   0:00 nginx: worker process
root     26610  0.0  0.1  61232   736 pts/2    R+   17:50   0:00 grep nginx

服务启动后,在IE浏览器输入nginx服务器IP地址,可以看到如下界面:

说明Nginx服务已经安装完毕,下面就是根据需求进行配置了.

2. 配置Nginx

在配置反向代理之前,我们先介绍如何创建一个Web站点(以http://123.fengdian.info为例):

本例将Web站点的文件目录设置为: /opt/data (里面含有一个index.html文件);

Web Server 可以在nginx.conf里面通过"server"指令配置,但是为了管理方便,通常我们单独

建立一个目录来放置所有的管理员配置的server指令文件. 这里我们在/usr/local/nginx/conf目录下

新建目录sites,来存放管理员自定义的server配置文件:

在sites目录中,我们新建一个名为123的文件,内容主要包含server指令要配置的内容,如下:

#站点123配置
[root@localhost sites]# cat 123
server {listen       80;server_name  123.fengdian.info;access_log   logs/123/access.log;error_log    logs/123/error.log  info;location / {root /opt/data;index  index.html;}
}

server 指令文件建立好后,我们就需要去配置 nginx主配置文件nginx.conf了.在主配置文件中

的http指令块中我们增加一行,如下图标注部分

保存退出后,我们再创建日志存放目录:

#server指令中单独指定了日志存放目录,该目录需要手动创建,不然启动nginx服务会出错
[root@localhost sites]# mkdir -p /usr/local/nginx/logs/123#检查是否创建成功
[root@localhost nginx]# ll /usr/local/nginx/logs/
总计 20
drwxr-xr-x 2 root root 4096 06-06 23:51 123
-rw-r--r-- 1 root root 3856 06-06 23:05 access.log
-rw-r--r-- 1 root root 4777 06-06 23:49 error.log
-rw-r--r-- 1 root root    6 06-06 23:51 nginx.pid

全部准备完毕后,就可以启动Nginx服务了,当然这里是重启.

3.控制Nginx

Nginx启动的语法:  nginx -s  signal

    signal  常用的值可以是一下之一:

  • stop        立即关闭服务

  • quit         优雅的关闭,也可称为平滑关闭

  • reload     重载配置文件

  • reopen    重新启用配置文件

stop和quit的区别: 提到区别,就不得不提"master process"和"worker process".  当nginx收到发来的

                           signal信号时,如果是quit,"master process"会等到"worker process"处理完当前已

连接的请求在关闭worker process,而如果是stop则立即关闭.

我们开始重载配置文件:

#配置文件有误的话,会发出提示,并回滚使用旧的配置文件,如果无误,则会启动新的工作进程,而像旧的工作进程发送关闭请求
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost nginx]#

正式访问之前,我们在DNS中做解析:

打开浏览器,访问web站点,如图示:

这样我们的web站点就配置完成了.下面我们开始配置反向代理.

4. 反向代理配置

本例 192.168.1.100 主机的8080端提供视频会议web访问, 要求http://vc.fengdian.info:8080

访问该主机.

在sites目录下,新建vc文件,内容如下:

#vc文件内容
[root@localhost sites]# cat vc
server {listen 8080;server_name vc.fengdian.info;access_log  logs/vc/access.log;error_log   logs/vc/error.log;location / {proxy_pass http://192.168.1.100:8080;}
}

DNS新建主机A记录:

打开浏览器,访问http://vc.fengdian.info:8080,效果如图:

可见,反向代理配置正确,已经生效.

本文仅以最简单的实例来讲解基础配置,详细配置介绍请参见官方文档:http://nginx.org/en/docs/

Nginx http和反向代理配置实例介绍相关推荐

  1. Nginx 部署、反向代理配置、负载均衡

    Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...

  2. Nginx实现HTTP反向代理配置

    Nginx实现HTTP反向代理配置 无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教 ...

  3. docker部署nginx 并实现反向代理 配置多个域名多个端口

    文章目录 docker部署nginx 并实现反向代理 配置多个域名多个端口 1. 安装nginx: 2. 以终端的方式打开镜像容器 default.conf: nginx.conf: 3. 在linu ...

  4. nginx反向代理配置实例分享

    nginx反向代理配置一例. 配置内容如下: user www www; worker_processes 8; error_log /usr/local/webserver/nginx/logs/n ...

  5. Nginx实现https反向代理配置

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 一些对安全性要求比较高的站点, ...

  6. 【Nginx】通过反向代理配置本地图床功能

    安装nginx sudo apt-get install nginx 配置nginx.conf  sudo vim  /etc/nginx/nginx.conf worker_processes au ...

  7. Nginx反向代理配置详解

    Nginx反向代理配置详解 Nginx简单的反向代理配置,包括配置文件中各项参数的的注释,好了,开始! 开始首先安装Nginx 一.建立用户和用户组 1 2 ./usr/sbin/groupadd w ...

  8. 正向代理和Nginx反向代理配置介绍

    正向代理和Nginx反向代理配置介绍 * Author QiuRiMangCao 秋日芒草* 正向代理(代理对象是pc) 是一个位于客户端(pc)和原始服务器(google.com)之间的服务器 场景 ...

  9. Nginx教程系列四:实现反向代理配置

    文章目录 案例一 安装tomcat 配置Nginx反向代理 测试 案例二 安装第二个tomcat实例 准备测试页面 配置Nginx反向代理 测试 location 指令说明 案例一 预先安装nginx ...

最新文章

  1. 英特尔CEO:英特尔下一个市场将是无人驾驶汽车
  2. ABAP 开发时遇到的错误记录
  3. 大学生智能汽车竞赛-讯飞智慧餐厅组别成绩公示!
  4. P3235-[HNOI2014]江南乐【整除分块,SG函数】
  5. .NET Mass Downloader -整体下载.NET源码
  6. 面试官:Spring MVC的处理流程是怎样的?
  7. mysql傻瓜教程_mysql索引的使用傻瓜教程_MySQL
  8. 对于一些敏感的数据(例如密码),为什么使用字符数组存储比使用String更安全?
  9. 经典案例:日活DAU下降,该如何着手分析?
  10. JavaWeb面试题1
  11. 编写 USB 存储设备使用痕迹检测和删除工具
  12. 必读的20本投资经典
  13. 大学生计算机考试PPT制作,计算机等级考试制作PPT表格
  14. 电脑软件快捷方式不显示图标
  15. 问题 C: 逃离机场
  16. 阿里建直营物流,“三通一达”要被踢出局了?
  17. Q3手机银行运营报告:直销银行江湖再起波澜,数字员工助力手机银行活跃度提升
  18. C语言 字符串解析strchr/strrchr/strtok//strtok_r函数使用
  19. 数据采集—数据采集技术
  20. 辐射76 服务器离线维护,如果能有离线模式 完善《辐射76》的9种方法

热门文章

  1. ceph-deploy mod add_我的世界基座(Pedestals)Mod
  2. Verilog初级教程(1)认识 Verilog HDL
  3. omnidb数据库web管理工具安装
  4. Java、Python、Go 哪个后端编程语言适合web前端工程师学习?
  5. 洛谷 P1843 奶牛晒衣服
  6. ext2文件系统 - mke2fs
  7. getBytes等空指针异常
  8. Nginx+Keepalived实现Web服务器负载均衡
  9. shell脚本替换文件中字符
  10. js跟随鼠标移动的写法