如何运用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于深圳

1、下载后解压nginx

tar -zxvf nginx-1.4.7.tar.gz

2、安装gcc等依赖包

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

3、开始安装nginx

cd进入nginx-1.4.7目录内

./configure 编译

make&&make install 这一步需要先cd出来吗?在里面会安装失败吗?我忘了 = =

4、此时就已经安装完成,默认安装在了/usr/local/nginx/sbin/nginx

5、启动

命令行输入/usr/local/nginx/sbin/nginx,没反应

输入ps -ef | grep nginx查看nginx进程

6、测试

命令行输入 curl http://127.0.0.1

会出现welcome to nginx之类的就说明对了!

7、加入到环境变量

vim /etc/profile

尾行添加

PATH=$PATH:/usr/local/nginx/sbin

export PATH

保存关闭后运行 source /etc/profile 即会加入环境变量

8、常用命令

[root@bai usr]# nginx -s stop停止nginx

[root@bai usr]# nginx 运行nginx

[root@bai usr]# nginx -s reload 重启nginx

[root@bai usr]# nginx -t 测试nginx

9、防火墙允许外网访问

vim /etc/sysconfig/iptables

添加过滤规则

-A -INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

好像是保存后即时生效把?

service iptables stop

service iptables start

重启服务后还是会生效,亲测

10、修改网站默认根目录路径

网站默认根目录放在/usr/local/nginx/html

命令行输入 vim /usr/local/nginx/conf/nginx.conf

找到改为

server {

listen 80

server_name localhost

root /var/www/html/default

#charset koi8-r

#access_log logs/host.access.log main

location / {

#root html

index index.html index.htm

}

注释掉下面的,在上面添加自己想要的根目录,重启nginx才能生效。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存