一、Nginx的配置文件
上一篇,我们讲了,如何启动和停止Nginx服务,当然,启动后,我们还需配置一下我们的Nginx,配置文件在哪呢,我们切换到 nginx的安装目录:
cd /usr/local/nginx/
我们进入 conf目录
我们用 vim 打开nginx.conf,大致看一下里面的内容(大部分都是注释)
为了查看的效果更佳显著,我们设置一下当前 SSH Shell工具中CentOS Profile的Colors属性
更改后,重新进行连接,然后我们查看下nginx 的配置文件
vim nginx.conf
root html; 根目录所在的位置 -- > /usr/local/nginx/html
二、Nginx配置虚拟机
A、通过端口号区分虚拟机
我们insert一个server配置,直接copy一个 server进行修改,我们端口改成如下:
server {
listen 90;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html90;
index index.html index.htm;
}
}
将上述内容,加入到nginx.conf配置文件里
加入之前,我们先创建一下 html90这个目录(直接copy html目录 稍作修改)
cp命令:用来将一个或多个源文件或者目录复制到指定的目的文件或目录
参数: -r -->递归处理,将指定目录下的所有文件与子目录一并处理
完整命令: cp -r 源目录/ 目标目录
cd -r html/ html90
我们切换到html90目录下,修改其中的欢迎页面index.html的内容(一会我们演示 90端口访问的效果 区别80端口)
Esc --> :wq! 保存并退出
然后,我们保存一下刚才修改后的nginx.conf配置文件的内容(这个我们还没有管)
保存后我们重新加载一下,nginx的配置文件,上一篇说过了,使用 ./nginx -s reload
cd /usr/local/nginx/sbin
./nginx -s reload
加载后,我们还要办一件事,就是在防火墙的配置文件里面, 开放90端口,使外部计算机也能访问我们新增加的nginx虚拟机的http服务:
vim /etc/sysconfig/iptables
进入正常模式,光标移动到 -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT,按下yy,表示复制当前行,然后,按下p,将复制的内容粘贴到当前行的下一行
(复制多行--> Shift+V[按住一次就行] ,然后按键盘的向下箭头或向上箭头 进行 多行选择,然后y复制,p粘贴)
测试一下,90端口是不是可以访问
B、通过域名区分虚拟机
如果我们多个虚拟机上部署的网站都想用80端口,是不是上面设置的90端口就没什么卵用了,这个时候,就需要用域名来区分了。
比如百度的域名是:www.baidu.com
显然,百度的IP是:61.135.169.121
通过修改本机Host文件,指定IP和域名对应关系,就可以实现通过域名换IP的效果
位置:C:\Windows\System32\drivers\etc(不要晕啊,这是在Windows系统中)
利用管理员权限编辑 hosts文件,并添加如下内容:
保存后,我们在浏览器中输入上述域名,看看能不能访问到nginx的http服务
如果想要访问90端口的虚拟机http服务,我们需要在域名后面加上:90(这个不再测试了)
当然,我们随便输,肯定不行:
ok,明白了上面的操作,我们现在就来修改一下nginx.conf配置文件里面的server节点,我们用EditPlus的ftp配置,实现远程主机文件编辑操作(这种基于软件的直接修改要比在shell中使用复制粘贴命令轻松的多):
选择 sftp,端口:22
OK完成,我们返回EditPlus页面,打开目录窗口
选择刚才的CentOS 6.5
打开后,依次展开目录,定位到/usr/local/nginx/conf/nginx.conf
为了省时间,这里hosts文件里面只区分两个域名(代表两个nginx虚拟机)
修改nginx.conf文件如下:
server {
listen 80;
server_name nginx.linux.test1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-test;
index index.html index.htm;
}
}
修改后,linux主机上的对应nginx.conf也会发生改变,这个就不操作了查看了,我们直接创建域名为nginx.linux.test1的虚拟机的html-test目录,创建后,修改index.html的内容如下:
内容变为:
保存并退出,然后重新加载nginx的配置文件 --> ./sbin/nginx -s reload
配置文件生效后,我们本地浏览器测试一下:nginx.linux.test1
如果增加多个域名映射(一个IP有不同的域名返回)的话,在本地hosts文件中添加的同时,也要配置一下linux中的nginx虚拟机(server节点)的域名,这样,就最终实现了,通过域名来区分不同虚拟机的目的。
本篇虽然有点长,但是内容很重要,掌握了nginx配置思想以后,命令就是孰能生巧,没什么难点!