nginx 配置虚拟主机
安装nginx 以后,第一件想到的事应该就是去创建虚拟主机,虚拟主机允许我们在同一台服务器上运行多个网站,我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。下面来看一下为 nginx 配置虚拟主机。先进入到 nginx 配置文件目录:
cd /etc/nginx/conf.d
复制这个目录里的 default.conf ,复制以后的名字可以使用你的虚拟主机名字。比如创建一个 www.yinzhong.net 的虚拟主机。复制文件可以使用 cp 命令,像这样:
cp default.conf www.yinzhong.net.conf
再去编辑一下这个复制以后的配置文件,可以使用 vim 命令:
vim www.yinzhong.net.conf
你会看到像这样的代码:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
...
}
server_name 就是主机名,也就是跟这个虚拟主机绑定在一块儿的域名,我事先把 www.yinzhong.net 指向了服务器,这个虚拟主机就是为它准备的,所以,server_name 后面的东西就是 www.yinzhong.net 。紧接着 server_name 下面可以是一个 root,就是这个虚拟主机的根目录,也就是网站所在的目录。比如我们要把 www.yinzhong.net这个网站的文件放在 /home/www/www.yinzhong.net下面,那么这个 root 就是这个路径。
然后去掉 location / 里面的 root 这行代码。再在 index 后面加上一种索引文件名,也就是默认打开的文件,这里要加上一个 index.PHP ,这样访问 www.yinzhong.net就可以直接打开 root 目录下面的 index.php 了。稍后我们再去安装 php 。修改之后,看起来像这样:
server {
listen 80;
server_name www.yinzhong.net;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /home/www/www.yinzhong.net;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /home/www/www.yinzhong.net;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/www.yinzhong.net$fastcgi_script_name;
include fastcgi_params;
}
...
}
这个配置文件先修改到这,稍后,我们再回来继续修改一下它。保存一下,按 esc ,输入 :wp(保存并退出)。现在虚拟主机应该就可以使用了。主机的域名是nginx.ninghao.net,访问它的时候,打开的是 /home/www/www.yinzhong.net 这个目录里面的东西,你可以在这个目录下放点东西。
重启 nginx 或者重新加载 nginx 可以让配置文件生效。
service nginx reload
现在,打开浏览器,输入你为虚拟主机设置的域名,看看是否能打开你指定的目录里的东西。
如果ecs上只放一个网站就直接修改default.conf文件,server_name不变其他修改方法同上。