nginx服务器搭建(如何运用Nginx搭建代理服务器)
大家好,今天小编来为大家解答nginx服务器搭建这个问题,如何运用Nginx搭建代理服务器很多人还不知道,现在让我们一起来看看吧!
如何运用Nginx搭建代理服务器
如何实现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于深圳
怎么在linux下搭建一个nginx服务器
大家对Nginx服务器有了解吗?如果想要了解网站服务器的朋友,那么就需要学习一下在电脑中搭建Nginx WEB服务器的基础,Nginx主要是用在Linux的主机上,不过它也可以运行在Windows上,下面就让小编为大家介绍下,如何在Winxp系统中搭建Nginx WEB服务器。 Winxp系统的电脑怎么搭建Nginx WEB服务器具体方法如下: 1、下载Nginx程序包,仅有1M左右大小,相当小巧功能强大! 2、将下载好的zip压缩包的文件全部解压,双击运行nginx.exe,你会看到一个黑色窗口一闪而过就没了,这就说明Nginx服务器已经正式启动(没有程序界面的)。 3、在浏览器输入访问 127.0.0.1回车,如果看到“Welcome to nginx!”则说明你在本机搭建的服务器已经成功运行。如果没有,请检查你的电脑的80端口是否被占用,或者打开任务管理器查看一下是否有两个“nginx.exe”进程在运行。 4、完成以上简单的三步后,我们的Nginx网页服务器就搭建完成了,但是呢到这里只能支持html的纯网页,如果想让它支持php脚本还需要进一步安装php的运行环境。以上方法操作起来十分便捷,想要在XP系统上免费搭建Nginx服务器的小伙伴们快来看看吧。如有更多疑问,欢迎访问安下软件站。
一、服务器从零到一——Ubuntu搭建nginx静态服务器
Ubuntu 18.04上的Nginx默认启用了一个服务器模块,该模块被配置为在/var/www/html目录下提供文档。虽然这适用于单个站点,但如果您托管多个站点,它可能会变得很笨重。我们不必修改/var/www/html,而是在/var/www为我们的 example.com网站创建一个目录结构,并将/var/www/html保留为默认目录,如果客户端请求没有匹配任何其他网站。
按如下所示为example.com创建目录,使用-p标志创建任何必需的父目录:
$ sudo mkdir-p/var/www/ example.com/html
接下来,使用$USER环境变量分配目录的所有权:
USER:$USER/var/www/ example.com/html/
如果你没有修改你的umask值,你的web根目录的权限应该是正确的,但是你可以通过输入:
$ sudo chmod-R 755/var/www/ example.com/
接下来,使用gedit或您最喜欢的编辑器创建一个index.html页面示例:
$ gedit/var/www/ example.com/html/index.html
在里面,添加下面的示例HTML:
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
为了让Nginx提供这些内容,有必要创建一个具有正确指令的服务器块。我们不要直接修改默认配置文件,而是在/etc/nginx/sites-available/ example.com上创建一个新文件:
$ sudo gedit/etc/nginx/sites-available/example.com
粘贴到以下配置块中,该块类似于默认值,但已更新为我们的新目录和域名:
server{
listen 80;
listen [::]:80;
}
请注意,我们已将root配置更新到我们的新目录,并将server_name为我们的域名。
接下来,让我们通过创建一个链接到启动sites-enabled目录来启用该文件,该目录是Nginx在启动过程中读取的:
$ sudo ln-s/etc/nginx/sites-available/example.com/etc/nginx/sites-enabled/
现在启用两个服务器模块并将其配置为基于listen和server_name指令响应请求(您可以阅读关于Nginx如何处理这些指令的更多信息):
example.com:将响应 example.com和 www.example.com请求。
default:将响应端口80上与其他两个块不匹配的任何请求。
为了避免添加额外的服务器名称可能导致的哈希桶内存问题,有必要调整/etc/nginx/nginx.conf文件中的单个值。
打开文件:sudo gedit/etc/nginx/nginx.conf
找到server_names_hash_bucket_size指令并删除#符号以取消注释该行:
...
http{
...
server_names_hash_bucket_size 64;
...
}
...
接下来,测试以确保您的Nginx文件中没有语法错误:
$ sudo nginx-t
nginx: the configuration file/etc/nginx/nginx.conf syntax is ok
nginx: configuration file/etc/nginx/nginx.conf test is successful
如果没有任何问题,请重新启动Nginx以启用您的更改:
$ sudo systemctl restart nginx
熟悉重要的Nginx文件和目录
nginx服务器配置文件:
/etc/nginx:Nginx配置目录。所有的Nginx配置文件都驻留在这里。
/etc/nginx/nginx.conf:主要的Nginx配置文件。这可以修改,以更改Nginx全局配置。
/etc/nginx/sites-available/:可存储每个站点服务器块的目录。除非将Nginx链接到sites-enabled了sites-enabled目录,否则Nginx不会使用此目录中的配置文件。通常,所有服务器块配置都在此目录中完成,然后通过链接到其他目录启用。
/etc/nginx/sites-enabled/:存储启用的每个站点服务器块的目录。通常,这些是通过链接到sites-available目录中的配置文件创建的。
/etc/nginx/snippets:这个目录包含可以包含在Nginx配置其他地方的配置片段。可重复配置的片段可以重构为片段。
nginx服务器日志文件:
/var/log/nginx/access.log:除非Nginx配置为其他方式,否则每个对您的Web服务器的请求都会记录在此日志文件中。
/var/log/nginx/error.log:任何Nginx错误都会记录在这个日志中。
OK,本文到此结束,希望对大家有所帮助。