如何运用Nginx搭建代理服务器?

如何运用Nginx搭建代理服务器?,第1张

如何实现Nginx的反向代理?

这句话什么意思?

意思是说当客户机来访问服务器的时候,服务器本身并不出面接待,而是将客户的请求转高给手下的子服务器(小弟)负责接待。

比如:你访问www.baidu.com,其实并不时百度总服务器接待的你,而是百度的代理服务器接待的你,不过他们的服务是一样的,提供同样的页面;

如是搭建Nginx服务才能实现这样的效果呢?

搭建一个最简单,最基础nginx代理服务器,需要一台代理服务,两台子服务器,XX台客户机来作验证;

操作流程如下:

第一步、服务器和客户机配好IP地址,其中Nginx代理服务器需要配置两张网卡,两个IP地址,一个和客户机通信,一个和子服务器通信;

代理服务器与客户机和子服务器都分别配置同网段IP地址;

例如:

代理服务器:192.168.4.5    192.168.2.5

子服务器         :192.168.2.100    192.168.2.200

客户机    :192.168.4.10

这样配置的好处是: 可以负载均衡,保障用户的访问体验,保障上网速度,同时也保障了,即便有一台服务器坏掉了,另一台服务可以接待用户访问;

第二步、代理服务器上安装Nginx服务软件,两台子服务器上安装HTTPD服务并写入相应的网页,然后启动服务;

yum  -y install  httpd        ##安装httpd服务;

echo  "罗贵"  >   /var/www/html/index.html       ##写一个简单的网页

./configure    --user=nginx    --group=nginx   --with-http_ssl_module

make   &&  make   install     ##编译安装Nginx

第三步、修改Nginx的配置文件;

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

http   {  ...............    ##在文件中找到http开头的行,并在http下面随意找两行添加下面两行的内容;

            upstream    luogui    {        ##luogui是集群名字,可以自由定义,upstream 上游的意思;翻译过来就是在上游建立一个名字为luogui的集群,集群中包含下述IP地址;

                      server   192.168.2.100:80

                      server    192.168.2.200:80

}

server    {

        listen        80

        server_name   www.luogui.com    ##域名,可以自由定义;

location   ^/.php$  {    ##匹配网页地址的意思,匹配以 / 开头.php结尾的网页文件;

        proxy_pass  http://luogui       ##通过proxy代理服务器将用户的请求转发给luogui集群服务器;(注:优先级最高,系统会优先处理这条命令)

             }

                             }

第四步、测试效果;

firefox   http://192.168.4.5  或者  本地测试   curl  http://192.168.4.5 

结果应该是暂停任何一台子服务器,客户机访问网页都没有问题;

以上.......

                                                    (EDN)

祝:开心!

罗贵

2019-04-05于深圳

打开nginx官网 http://nginx.org/en/download.html

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

cd /usr/local/

tar -zxvf nginx-1.20.1.tar.gz

./configure --with-http_ssl_module

编译参数有很多,这边我只增加了SSL模块,小伙伴可以根据自身情况调整

--prefix=PATH:指定 nginx 的安装目录

--conf-path=PATH:指定 nginx.conf 配置文件路径

--user=NAME:nginx 工作进程的用户

--with-pcre:开启 PCRE 正则表达式的支持

--with-http_ssl_module:启动 SSL 的支持

--with-http_stub_status_module:用于监控 Nginx 的状态

--with-http-realip_module:允许改变客户端请求头中客户端 IP 地址

--with-file-aio:启用 File AIO

--add-module=PATH:添加第三方外部模块

make

执行完上述命令后,在解压目录下,多出一个Makefile文件

make install

因编译时未指定安装目录,执行make install 命令后看到反馈日志信息,实际安装目录为/usr/local/nginx

进入实际安装目录,看看,并在其sbin目录下执行启动nginx

cd /usr/local/nginx/

浏览器访问 http://ip:80 , 显示如下图则代表部署成功

进入 /usr/local/nginx/conf/ 文件夹,找到nginx.conf 文件

worker_processes 1

events {

worker_connections 1024

}

http {

include mime.types

default_type application/octet-stream

sendfileon

keepalive_timeout 65

server {

listen 8088

server_name localhost

location ~ .*.(gif|jpg|jpeg|png|apk|pdf)$ {

expires 24h

root /usr/local/img/#指定图片存放路径

access_log /usr/local/nginx/logs/images.log#日志路径

proxy_store on

proxy_store_access user:rw group:rw all:rw

proxy_temp_path /usr/local/img/#代理临时路径

proxy_redirect off

}

修改配置文件,内容如上

cd /usr/local/nginx/sbin

./nginx -s reload

浏览器输入 http://ip:8088/1.png ,查看是否能正常显示图片

Nginx 是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择

下面介绍如何在Mac上搭建流媒体服务器,以便后续的自己研究的项目或者demo向服务器上进行推流

首先需要安装brew,brew是一款管理软件的第三方平台,安装的方式也很简单,请自行查阅安装方式

执行下面2句命令,即可安装rtmp推流的nginx服务器

执行完后,可以查看ngix安装在哪里

可以看到M1 是安装在这个目录下/usr/local/etc/nginx

打开这个目录,可以看到有个nginx.conf文件,这里就是服务器的一个配置文件,如果支持rtmp,则里面的内容会有一个rtmp的json

这个json说明:

1.你本地的nginx服务器会监听1935端口号,

2.服务器会创建一个mytv的程序

后续你可以向这个地址进行推流,并且进行拉流播放

后面我们会使用ffmpeg向这个地址推流

rtmp://localhost:1935/mytv/room

并且用vlc拉取这个地址的流进行播放

执行命令,即可启动nginx服务器

验证是否启动成功,只需要在浏览器中访问下以下链接

在浏览器地址栏输入: http://localhost:8080

出现Welcome to nginx ,代表nginx安装成功了。

打开配置文件 /usr/local/etc/nginx/nginx.conf

这里推的是flv流,可以正常推,这里需要注意的是服务器地址一定要写正确,我的nginx.conf里application配置的是mytv,所以路径就是mytv,room则是随便写都行,代表向程序mytv下的room文件推流

然后电脑上打开vlc这个播放器软件 点击File---->Open Network 在弹出来的框中选择Network然后输入URL:

验证时,推流的文件最好搞大点,不然一下推完了,你才去拉取播放,则播放不了,因为这是实时的

vlc使用如下

3.点击播放即可

可以看到左边是画面,右边是ffmpeg在推流

参考: https://www.jianshu.com/p/cf74a34af15d


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/85606.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-05
下一篇2023-03-05

发表评论

登录后才能评论

评论列表(0条)

    保存