本文将向您演示如何通过Nginx对kiftd进行反向代理和域名绑定,从而让访问者能够通过指定的域名来访问kiftd或是您的其他网站页面。尤其是对于需要在同一台服务器上部署多个网站项目和kiftd的用户而言,该方法能够让项目部署变得更加灵活。

具体步骤

先从最基本的需求入手——假如我手中的域名是“www.my.kiftd.io”,并且已经绑定到了自己的服务器(计算机)IP上……现在,我希望所有访问者能够直接通过这个域名访问我的kiftd主页,那么应该按照如下步骤操作:

1,首先确保自己的域名能够正确解析至自己的服务器IP

在开始之前,必须再次确认自己的域名是否已经成功绑定到了服务器的公网IP上,这一点非常重要!

好在,测试的手段并没什么难度,直接ping一下就行了。例如我将域名“www.my.kiftd.io”绑定至本机地址“127.0.0.1”上(这里使用了一个虚拟IP进行演示,而在实际使用中,您必须确保您的域名正确绑定到了 服务器的公网IP 上)。

可以看到,域名“www.my.kiftd.io”已经能够正确解析到服务器的IP地址:

2,启动kiftd服务器(并确保其能够正常访问)

现在,启动kiftd服务器。这里使用的是9000端口部署kiftd,因此在它启动成功后可以直接使用IP地址+端口号访问。效果如下:

这就证明kiftd也已经启动,并且运行正常。

接下来,就该用Nginx服务器对其进行反向代理从而实现域名访问和端口转发了。

3,配置Nginx服务器

首先确保服务器上已经正确安装了Nginx。接下来,找到其配置文件“nginx.conf”(可以使用“nginx -t”命令查看该文件的位置),使用文本编辑器打开该文件,然后进行如下几处设置(红色方框位置):

其中,server后面的位置要写上正确的kiftd所在IP地址+端口号(我这里就是“127.0.0.1:9000”),而server_name后面的位置则要写上正确的域名(我这里就是“www.my.kiftd.io”)。

于是,整个配置文件的内容会变成这个样子:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;# 这是kiftd的连接池upstream kiftd{server 127.0.0.1:9000;}# 这是kiftd的转发设置server {listen       80;#kiftd的目标转发域名server_name  www.my.kiftd.io;location / {proxy_pass http://kiftd;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 0;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}include servers/*;
}

配置工作完成。接下来就是见证奇迹的时刻……

4,启动Nginx服务器,使用域名访问kiftd主页

直接使用修改后的配置文件启动Nginx。示例如下(因为用了80端口,所以在Linux和Mac OS X上需要使用管理员权限“sudo”启动,Windows系统则不需要):

如果像上图一样能够启动成功,就说明配置文件的格式没有问题。否则,请重新检查“nginx.conf”文件中是否存在格式错误。

接下来,打开浏览器,输入配置好的域名“www.my.kiftd.io”然后回车:

可以看到,现在已经能够使用自己的域名来访问kiftd了。 大功告成!

通过反向代理技术,将不同的二级域名分别映射至kiftd和已有网站

如同本文开始所提到的那样,很多情况下,我们的服务器中可能已经部署了一个网站项目了,此时还需要再部署一个kiftd,并需要让访问者能够通过不同的二级域名分别访问我们的网站项目和kiftd。如何实现这种效果呢?请看下面这个例子……

假如我的服务器上已经有了一个网站项目,并且正常地运行在8080端口上,如图所示:

同时,我又在服务器上部署了个kiftd,使用9000端口(就是上面提到的)……

现在,我手中有一个一级域名“helloword.io”,其下有两个二级域名,一个是给已有网站项目准备的二级域名“www.helloword.io”,一个是给新部署的kiftd准备的二级域名“files.helloword.io”——我希望用户在访问“www.helloword.io”时能够进入已有的网站项目,而在访问“files.helloword.io”时能够进入kiftd来上传和下载文件。综上,应该在Nginx中这么设置:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;# 这是kiftd的连接池upstream kiftd{server 127.0.0.1:9000;}# 这是已有网站项目的连接池upstream myweb{server 127.0.0.1:8080;}# 这是kiftd的转发设置server {listen       80;#kiftd的目标转发域名server_name  files.helloword.io;location / {proxy_pass http://kiftd;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 0;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# 这是已有网站项目的转发设置server {listen       80;#已有网站项目的目标转发域名server_name  www.helloword.io;location / {proxy_pass http://myweb;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}include servers/*;
}

配置完成后,重新启动Nginx服务器令配置生效。

这样一来,当访问者访问“www.helloword.io”时,便能成功访问我的网站项目:

而当访问者访问“files.helloword.io”时,便能成功访问我用于存放资料的kiftd:

实际上,只要这些二级域名不重样,那么在同一个服务器上部署多个少个kiftd或网站项目都没问题——Nginx可以对它们实现分别的端口请求转发。对于搭建一个完整的网站而言,这样做会显得更加灵活。

以上就是本文的全部内容。

---全文完---

【经验】使用Nginx对kiftd进行反向代理和域名绑定相关推荐

  1. Nginx学习3:反向代理实例

    Nginx配置实例-反向代理1 目标 打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中 准备工作 我们在官网下载好tomcat之后,直接将t ...

  2. Nginx-05:Nginx配置实例之反向代理2

    Nginx配置实例之反向代理 目的:使用nginx反向代理,根据访问的路径跳转到不同端口的服务器中,nginx监听端口为9001. 访问http://192.168.17.129:9001/edu/ ...

  3. Nginx-04:Nginx配置实例之反向代理1

    Nginx配置实例之反向代理 目的:在浏览器中数输入www.123.com跳转到tomcat主页. 1.准备工作 (1)安装tomcat,使用默认端口8080,进入tomcat的bin目录中,./st ...

  4. 如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理

    如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 Nginx 是一款自由开源的 HTTP 和反向代理服务器,也可以用作 POP3/IMAP 的邮件代理服务器.Ngi ...

  5. Nginx应用场景之反向代理

    本文来说下Nginx应用场景之反向代理的几个问题 文章目录 概述 正向代理 反向代理 Nginx反向代理优势 访问限制 概述 "Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻 ...

  6. nginx和tomcat实现反向代理、负载均衡和session共享

    这类的文章非常多,nginx和tomcat实现反向代理.负载均衡实现非常easy,能够參照http://blog.csdn.net/liuzhigang1237/article/details/888 ...

  7. 利用nginx+lua+redis实现反向代理方法教程

    这篇文章主要给大家介绍了利用nginx+lua+redis实现反向代理方法教程,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 前言 最近因为工作需要,要进行IVR的 ...

  8. 带你了解什么是Nginx(实操反向代理-负载均衡)

    文章目录 一.前言 ①什么是Nginx? ②服务中为什么要使用Nginx原因? 二.安装Nginx 1.介绍 2.安装 ①在Linux系统安装nginx ②上传并解压到/usr/local/目录下 ③ ...

  9. Nginx运维之一 反向代理、动静分离、负载均衡

    Nginx运维之一 反向代理.动静分离.负载均衡 Nginx简述 Nginx 优势功能 Tengine 反向代理 正向代理 反向代理 动静分离 负载均衡 Nginx简述 Nginx是lgor Syso ...

最新文章

  1. npj Digit. Med. | 基于人工智能的FDA批准的医疗器械和算法现状
  2. 【 MATLAB 】cat 函数介绍(沿指定维度串联数组)
  3. Spring之LoadTimeWeaver——一个需求引发的思考---转
  4. linux缓存文件地址,如何遍历linux内核中的文件地址空间的页面缓存树(基数树)
  5. 服务器文件上传记录,记录一下上传文件(图片)的过程上传图片到ftp服务器
  6. 习题3.8 符号配对 (20分)
  7. jQuer实时监控input对table进行筛选
  8. Introduction to CALayers Tutorial
  9. Kubernetes网络方案的三大类别和六个场景
  10. AR人体姿态识别,实现无边界的人机交互
  11. 【Postgresql】pg截取第一个和最后一个字符
  12. SAI绘制宇宙的翅膀
  13. 生产事件相机的主要商业公司介绍
  14. Python打印简单杨辉三角形
  15. Python当前时间是一年中第几周
  16. lisp语言与python_5种语言混合编程:C 、JS、python、Lisp、汇编
  17. MNIST | 基于朴素贝叶斯分类器的0-9数字手写体识别
  18. 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪。
  19. 芜湖市python培训价格
  20. 07 verilog基础语法-条件语句

热门文章

  1. javaweb中dao层如何使用
  2. 高光谱目标检测论文学习(4)——Hierarchical Suppression Method for Hyperspectral Target Detection
  3. 顺应国家趋势,争做爱国程序员
  4. 手机端如何禁用默认键盘
  5. 多普勒流量计需要什么安装条件与建议?
  6. 阴沟里翻船之KeSetEvent
  7. TensorFlow深度学习应用实践
  8. WinAppDriver做PC客户端自动化
  9. 如何取消noarch.rpm包
  10. 离心泵CAE_2_ICEM剖分网格_1_进口延伸段