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

时间: 2024-12-25 06:43:04

nginx常用配置系列-虚拟主机的相关文章

http2.2常用配置(虚拟主机,访问控制,压缩,缓存,压力测试)

系统环境 [[email protected] ~]# cat /etc/redhat-release  CentOS release 6.6 (Final) [[email protected] ~]# uname -r 2.6.32-504.el6.x86_64 [[email protected] ~]# uname -m x86_64 程序环境 配置文件: 主配置文件:/etc/httpd/conf/httpd.conf 分段配置文件:/etc/httpd/conf.d/*.conf 服

Nginx的配置及其虚拟主机应用

一.Nginx的配置文件主要分为三个部分,全局配置.I/O事件配置和HTTP配置."#"代表注释,配置项末尾以":"结束 全局配置包括Nginx的运行用户.工作进程数.错误日志.PID存放位置等基本信息 这里工作进程默认为1,如果服务器有多块CPU或者使用多核处理器,我们可以将工作进程数量修改成与CPU核心数相同,但如果网站访问量需求并不大,一般设置为1就够了 2.I/O事件配置,使用"events {}"界定标记,用来指定Nginx进程的I/O

nginx常用配置系列-反向代理

接上篇,反向代理的原理与用途很多地方有讲,用文字说再多可能也表达不清楚,下面贴一张拓扑图,介绍下什么叫反向代理 以上图有两种情景 1. 访问者的客户端是 local ,要访问baidu的服务器,baidu的前台服务器本身不处理具体的业务,只是根据访问的数据类型,或者业务类型等(就是一些特定的规则,比如URL正则),将不同类的请求转发到不同的后端服务器,例如server1是静态资源的,server2是处理账户系统的等 2. 后端的每个server提供的服务完全相同,baidu的前台服务器根据后端每

Nginx快捷配置Tomcat虚拟主机

作者:fbysss QQ:溜酒酒吧酒吧吾散 blog:blog.csdn.net/fbysss 声明:本文由fbysss原创,转载请注明出处 典型场景: Tomcat的webapps目录中,有两个应用:app1.app2,如果没有nginx,我们的访问路径为: http://www.domainname.com:8080/app1 http://www.domainname.com:8080/app2 端口号暴露给用户很不好看也不安全.修改Tomcat配置文件的做法,也可以,但感觉麻烦一些,在这

nginx常用配置系列-静态资源处理

接上篇,nginx处理静态资源的能力很强,后端服务器其实也可以处理静态资源,比如tomcat,但把非业务类的单一数据交给后端处理显然效率比较低,还有一种场景是多个站点公用一套资源集时,通过nginx可以建立静态资源服务器,达到高效处理静态资源,下面直接看nginx如何处理静态资源: server { listen 80; server_name example.com; index index.html index.htm index.php index.do; #站点根目录 root /hom

Nginx系列--03HTTP段基本配置及虚拟主机

HTTP协议配置格式 http { ... ...:各server的公共配置 server { ... }:每个server用于定义一个虚拟主机: server { ... server_name root alias location [OPERATOR] URL { ... if CONDITION { ... } } } } 不同于HTTPD有一个默认的主机,Nginx必须使用server指令定义一个虚拟主机. HTTP协议配置 所有的配置如果不加说明的话,都是配置在/etc/nginx/

12.Nginx介绍,安装,配置默认虚拟主机,重定向

[toc] 12.5 Nginx介绍 官网:nginx.org 因为nginx处理静态文件的能力要比apache好很多,所以很多企业在建站的时候一般都是用java写的,然后会选择tomcat,但是tomcat处理静态文件的能力不是太好就会叠加选择nginx. nginx特点: 体积小 处理能力强 并发高 可扩展性好 Nginx应用场景: web服务 反向代理 负载均衡 Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大

配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机

一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; include /etc/nginx/upstream.conf; 2.在/etc/nginx/目录下新建 upstream.conf文件 vim upstream.conf upstream dev.test1.com { server 127.0.0.1(换成虚拟机ip):8080 weigh

Nginx的基本配置:虚拟主机、日志文件、缓存、自动列目录的配置

Nginx配置文件总览 Nginx的配置文件结构 #设置用户 user root; #工作衍生的进程数 (一般=CPU核心数或核心数*2) worker_processes 2; #设置错误文件的存放路径 error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #设置pid的存放路径(pid是控制系统中的重要文件) pid logs/nginx.pid; #设置最大连接