这句话什么意思?
意思是说当客户机来访问服务器的时候,服务器本身并不出面接待,而是将客户的请求转高给手下的子服务器(小弟)负责接待。
比如:你访问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、下载后解压nginxtar -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才能生效。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)