nginx配置虚拟主机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置虚拟主机相关的知识,希望对你有一定的参考价值。
准备站点目录:
我们站点统一放到/data/site下,每个站点根目录名称都和域名相同,具体如下。
新建a.deng.com站点根目录:
# mkdir -pv /data/site/a.deng.com
新建站点a.deng.com主页
# echo "this is a.deng.com" >> /data/site/a.deng.com/index.html
新建b.deng.com站点根目录:
# mkdir -pv /data/site/b.deng.com
新建站点b.deng.com主页
# echo "this is b.deng.com" >> /data/site/b.deng.com/index.html
新建统一日志目录
我们统一讲日志存放到/data/logs下,这边是存放nginx日志,所以nginx日志保持在当前的nginx目录下.日志统一存放相对来说比较规范
# mkdir -p /data/logs/nginx
创建虚拟主机配置文件:
# mkdir -p /usr/local/nginx/conf/vhosts
在nginx.conf的http{}中增加:
include /usr/local/nginx/conf/vhosts/*.conf;
配置虚拟主机:
增加nginx.conf的配置---配置日志格式,去掉#注释符
#log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
# ‘$status $body_bytes_sent "$http_referer" ‘
# ‘"$http_user_agent" "$http_x_forwarded_for"‘;
配置nginx的虚拟主机文件:
# vim /usr/local/nginx/conf/vhosts/a.deng.conf
server {
listen 80;
server_name a.deng.com;
root /data/site/a.deng.com;
index index.php index.htm index.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log /data/logs/nginx/a.deng.com-access.log main;
}
# vim /usr/local/nginx/conf/vhosts/b.deng.conf
server {
listen 80;
server_name b.deng.com;
root /data/site/b.deng.com;
index index.php index.htm index.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log /data/logs/nginx/b.deng.com-access.log main;
}
配置讲解
server{}:配置虚拟主机必须有这个段。
server_name:虚拟主机的域名,可以写多个域名,类似于别名,比如说你可以配置成
server_name b.deng.com c.deng.com d.deng.com,这样的话,访问任何一个域名,内容都是一样的
listen 80,监听ip和端口,这边仅仅只有端口,表示当前服务器所有ip的80端口,如果只想监听127.0.0.1的80,写法如下:
listen 127.0.0.1:80
root /data/site/b.deng.com:站点根目录,你网站文件存放的地方。注:站点目录和域名尽量一样,养成一个好习惯
access_log /data/logs/nginx/b.deng.com-access.log main:访问日志
重启并打开站点
nginx -t 检查nginx配置是否ok,命令如下:
# /usr/lcoal/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
如果看到以上两行ok和successful就表示配置问题,那接下来我们启动nginx
启动nginx
# /usr/local/nginx/sbin/nginx
使用curl进行访问网站,先在linux下绑定hosts,进行DNS解析:
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.139 a.deng.com b.deng.com
[[email protected] vhosts]# curl a.deng.com
this is a.deng.com
[[email protected] vhosts]# curl b.deng.com
this is b.deng.com
以上是关于nginx配置虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章