nginx常用配置系列-虚拟主机

Posted 依天照海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx常用配置系列-虚拟主机相关的知识,希望对你有一定的参考价值。

本来准备详尽的出一份nginx配置讲解,但nginx功能配置繁多,平常使用中使用最多的一般有:

1. 虚拟主机配置

2. HTTPS配置

3. 静态资源处理

4. 反向代理

================= 虚拟主机配置 =================

先说虚拟主机配置,nginx的核心配置文件在nginx的安装目录下conf目录中(如果是CentOS通过yum安装则在/etc/nginx目录中)

在conf目录下创建vhost目录,方便管理虚拟主机的配置文件

mkdir vhost

以example.com域名为例,在vhost目录中新建虚拟主机的配置文件example.com.conf(文件名依照域名来构造,方便辨别),编辑example.com.conf(下面是一段php虚拟主机的典型配置)

server {
    # 监听的端口
    listen      80;
    # host域名
    server_name example.com www.example.com;
    
    # 设置长连接(可选)
    keepalive_timeout 70;
    
    # 减少点击劫持
    add_header X-Frame-Options DENY;
    # 禁止服务器自动解析资源类型(安全起见,防止文件伪装)
    add_header X-Content-Type-Options nosniff;
    # 防XSS攻击
    add_header X-Xss-Protection 1;
    
    # 默认页面
    index index.html index.htm index.php default.html default.htm default.php;    
    # 网站源码主目录
    root  /home/wwwroot/example.com;
    # 写访问日志
    access_log  /home/wwwlogs/kuaimashi.com.log  main;
    # 文件匹配规则(详解http://seanlook.com/2015/05/17/nginx-location-rewrite/index.html)
    location ~ [^/]\.php(/|$) {
        try_files $uri =404;
        #fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        # 静态资源30天过期
        expires      30d;
    }
    location ~ .*\.(js|css)?$ {
        # js, css 12小时过期
        expires      12h;
    }
    location / {
        index index.php;
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?$1 last;
            break;
        }
    }
}

保存并关闭

在nginx的主配置文件nginx.conf中include引入虚拟主机的配置文件(放在括号内的最下面即可)

 include vhost/*.conf;

配置文件写好了,这时最好先测试文件是否书写正确

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

nginx -t输出这样表明配置无误,否则需要根据输出进行配置文件检查

在确认虚拟主机文件无误后,让nginx把我们的配置文件加载进来(reload)

nginx -s reload

加载完毕后就可以在浏览器看效果了

================= 虚拟主机介绍完毕 =================

 

后续继续记录HTTPS,静态资源处理,反向代理常见用法

 

文章有不足之处请直接指出,互相学习交流QQ:1485619676

以上是关于nginx常用配置系列-虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

Nginx +Tomcat 动静分离及Tomcat配置文件优化

Nginx+lua+openresty系列 | 第一篇:openresty介绍

nginx常用功能配置

linux学习:Nginx--常见功能配置片段与优化-06

Nginx常用配置实例

Nginx系列Nginx虚拟主机的配置核日志管理