Nginx基本虚拟服务器配置-阿里云开发者社区

开发者社区> 开发与运维> 正文

Nginx基本虚拟服务器配置

简介:

Nginx是干啥的?为什么他这么受重视?

对于这个问题用最简单的话来说,Nginx类似是一个服务器软件,他可以控制流量去那一边,来实现负载均衡。比如登陆一个很火的网站,网站虽然用的是一个域名,但是肯定机房里不会是只有一台服务器,而是好几十台乃至成百上千台服务器在一起发功,当用户接入的时候,Nginx就会根据情况分配用户去不同的子服务器访问,这样不会让局部的服务器压力过大,这样的“负载均衡”对服务器的稳定是很有帮助的。


当然负载均衡仅仅是nginx能力的一部分。


而虽然规定了子服务器,而且每个子服务器可以有自己的IP地址,还需要应用NAT技术是可以映射到同一个共用IP上的,那么这个共用IP也就是用户所直观输入的域名地址。这部分是CCNA的内容,算是运维人员的额外工作扩展了。


上篇有说,Nginx的标准启动命令格式是“# Nginx地址 -c Nginx对应配置文件地址”,我的Nginx的配置文件是默认路径,即/usr/local/nginx/conf/nginx,而配置文件地址也是默认的,即/usr/local/nginx/conf/nginx/conf,所以默认情况下,nginx的服务启动命令是:#/usr/local/nginx/conf/nginx -c /usr/local/nginx/conf/nginx.conf


看看Nginx的默认配置文件

在这里,我们可以先#vim /usr/local/nginx/conf/nginx/conf,得到了如下的两张图:

wKiom1aZJ2OTuuC5AACyIYE2its744.png

wKiom1aZJ2SxxW6AAACxs1qF36Q649.png

第一行user这里就是用来规定使用者的,这里可以填任意名字,可以填root,这样就是root管理员可以操作这个nginx服务器端,但是处于安全考虑,填nobody。这里填了nobody,使用#ps -ef|grep nginx查看进程号的时候,work process对应的第一列写得也会是nobody。

第二行是工作进程,我填写的auto,其实很多人说可以填写cpu核数或者是核数的两倍,whatever,auto也没出错。

然后即使一些日志文件的保存路径,PID文件保存路径神马的,基本保持默认情况就好。

然后这里我们看到nginx的强大之处,他可以支持多达50000个用户同时访问,这里说的访问指的是“刷新”,也就是可以多达50000个用户同分同秒一起F5刷新当前页面,这是一个很了不起的能力,Apache貌似最多支持不到2000个,但是毛子出产的nginx却可以支持50000多个,很牛,这里也可以根据实际需要手动下调一点。

再往下看红框的内容就表达了默认情况是使用80端口来链接服务器、服务器的名称、以及主页文件和主页文件地址。这个格式要记住,一会做子服务器的时候要用到。

最后一个红框就是手动选择字符格式,gb2312.


这就是nginx.conf里的全部内容,一会做子服务器的时候,我们要按照类似这个.conf文件的格式也写一个差不多的配置文件,作为启动命令的一部分。


Nginx配置虚拟主机的步骤

1)配置主机的IP地址及各虚拟主机的IP地址;

2)将这些IP地址分别与对应的虚拟主机绑定,实现“软硬结合”。


先在终端下联网,然后#ifconfig一下,得到目前的IP地址,如图。

wKioL1aZKrijjiJiAAB6rw8a9Uc366.png

目前的IP地址是192.168.157.128,网关是192.168.157.255,掩码24位。

使用#ifconfig eth0 192.168.1.9 netmask 255.255.255.0将IP地址更改成192.168.1.9/24,效果如下图:

wKiom1aZKvSiSFfGAAB7-6idMJI417.png

看到网关地址也直接智能化的更改成1.255了,满贴心的。

现在假设我这个虚拟机要分成两个两个虚拟服务器,A虚拟服务器的IP地址是192.168.1.5,B虚拟服务器的IP地址是192.168.1.15,全是24位。

设置A服务器所用到的命令是#ifconfig eth0:1 192.168.1.5 [brandcast 192.168.1.255] network 255.255.255.0中间的广播地址centos 6.7是不用写的,但是有些版本是需要写得,这个无关大雅。B服务器的命令就照葫芦画瓢吧,然后查看结果。

wKioL1aZLfDSrZnLAACwomNylnQ951.png至此,第一步配置IP地址完成!下面的任务就是绑定IP与各个服务器了。


虚拟主机在配置文件里配置,也可以在上面刚刚vim过的nginx.conf里配置,但是不推荐,因为nginx.conf是主要文件,它要是垮了,整个nginx服务也会随着报销。所以我们可以touch一个conf文件,于是#touch xunizhuji.conf,然后vim它,在里面效仿nginx.conf的架构写一个配置文件。

wKiom1aZNubxMggzAABiv1gwNuc339.png

因为设定了A和B两个服务器,于是就要有两个server,log地址和location地址以及主页内容都设定好了。

这个时候,我们返回html文件夹下去分别设定server1和server2,里面对应设定index.html,里面的内容自己随便写,写完了之后保存。这样就把分虚拟服务器的主页和IP地址绑定了。

然后就#/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xunizhuji.conf,这个命令符合“nginx启动文件 -c nginx配置文件”命令结构。确认现在nginx服务开启之后,就可以在地址栏里输入192.168.1.5和192.168.1.15,对应的index.html内容就会出现了。

wKioL1aZOJbiKyxtAAAiCdXNpYE329.png

wKiom1aZOGHBv-3PAAAiPiGq1Ic439.png

但是,我们主机的192.168.1.9是打不开的了,至此,整个虚拟服务器配置完毕。



 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1735507

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章