nginx.conf详解和Nginx的虚拟主机

cat /etc/nginx/nginx.conf
worker_processes 1;
#定义有多少个工作的子进程,可自行修改,太大无益,因为要争夺CPU,一般设置为核心总数(lscpu中CPU(S)可看)
events {
worker_connections 1024;
#一个worker允许同时最大产生多少个链接
}
http { #Web功能的标签
include conf/mime.types;
#设定mime类型,类型由conf/mime.types决定
default_type application/octet-stream;
sendfile on;
#sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设
为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
keepalive_timeout 65;
#http长连接的断开时间,(长连接:一次建立TCP链接多次请求)从最后一次请求开始计算时间
server { #虚拟主机的标签
listen 80;
#侦听的端口
server_name localhost;
#服务器的名称,别人可以通过这个来访问你的网站
location / {
root html;
#网站的根目录,如果是绝对路径,就是对于nginx服务器的家目录来说的
index index.html index.htm;
#网站默认的查找首页,从左向右依次查找
}
error_page 500 502 503 504 /50x.html;
#如果碰到上述状态码,则转交给后面的50x.html页面
location = /50x.html {
root html;
}
}
}

基于IP地址的虚拟主机

在http标签里面添加上一对server标签
    server {
        listen 80;
        server_name 10.0.0.7;
        access_log logs/ip_access.log main;
        location / {
            root html/server_ip;
            index index.html
        }
    }
保存退出,检查语法
[[email protected]_7 nginx]# nginx  -c /usr/local/nginx/conf/nginx.conf -t
2018/08/24 11:15:36 [info] 9888#0: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2018/08/24 11:15:36 [info] 9888#0: the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
平滑重启(重读配置文件)
[[email protected]_7 nginx]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
创建虚拟主机的网站根目录,刚才在配置文件里面定义的
[[email protected]_7 nginx]# mkdir /usr/local/nginx/html/server_ip
进入到这个里面编辑网站的主页
[[email protected]_7 nginx]# cat /usr/local/nginx/html/server_ip/index.html
<html>
<center><h1>Welcome to 10.0.0.7 server test</h1></center>
</html>
#然后在浏览器上输入IP地址,发现内容正确显示,基于IP的虚拟主机配置完成

基于端口的虚拟主机(生产环境中可以通过这种方法给网站单独开个后台,增加安全性)

在http标签里面添加上一对server标签
    server {
        listen 8888;
        server_namelocalhost;
        access_log logs/8888_port_access.log main;
        location / {
            root html/port;
            index index.html
        }
    }
保存退出,检查语法
[[email protected]_7 nginx]# nginx  -c /usr/local/nginx/conf/nginx.conf -t
2018/08/24 11:15:36 [info] 9888#0: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2018/08/24 11:15:36 [info] 9888#0: the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
平滑重启(重读配置文件)
[[email protected]_7 nginx]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
创建虚拟主机的网站根目录,刚才在配置文件里面定义的
[[email protected]_7 nginx]# mkdir /usr/local/nginx/html/port
进入到这个里面编辑网站的主页
[[email protected]_7 nginx]# cat /usr/local/nginx/html/port/index.html
<html>
<center><h1>Welcome to 8888 server test</h1></center>
</html>
然后在浏览器上输入IP地址加端口号,发现内容正确显示,基于port的虚拟主机配置完成
![](http://i2.51cto.com/images/blog/201809/29/40383a0d5dd2e15c944f4c73b40206f8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
查看服务器侦听的端口
![](http://i2.51cto.com/images/blog/201809/29/93977800f00dc1a94d45e3598e9e2c70.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

基于域名的虚拟主机

在http标签里面添加上一对server标签
    server {
        listen 80;
        server_name www.sentinel.com;
        access_log logs/sentinel_access.log main;
        location / {
            root html/sentinel;
            index index.html
        }
    }
保存退出,检查语法
[[email protected]_7 nginx]# nginx  -c /usr/local/nginx/conf/nginx.conf -t
2018/08/24 11:15:36 [info] 9888#0: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2018/08/24 11:15:36 [info] 9888#0: the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
平滑重启(重读配置文件)
[[email protected]_7 nginx]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
创建虚拟主机的网站根目录,刚才在配置文件里面定义的
[[email protected]_7 nginx]# mkdir /usr/local/nginx/html/sentinel
进入到这个里面编辑网站的主页
[[email protected]_7 nginx]# cat /usr/local/nginx/html/sentinel/index.html
<html>
<center><h1>Welcome to www.sentinel.com server test</h1></center>
</html>
然后在本机的hosts文件里面写上www.sentinel.com和他的ip地址的对应关系,因为我们没有DNS服务器,虽然他是基于域名的,但是实际上还是通过ip地址来进行通信的。
[[email protected] ~]# echo "10.0.0.7 www.sentinel.com" >>/etc/hosts
访问成功
![](http://i2.51cto.com/images/blog/201809/29/ca86a0dd52fa527a25c7cc26ba7c2020.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

原文地址:http://blog.51cto.com/13447608/2287394

时间: 2024-11-05 23:36:55

nginx.conf详解和Nginx的虚拟主机的相关文章

nginx之旅第一篇:nginx下载安装、nginx配置文件详解、nginx默认网站

一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http://nginx.org/download/nginx-1.15.5.tar.gz -P /usr/src 2.安装 安装大概过程 配置---编译---安装 配置 1)检查环境 是否 满足安装条件 依赖解决 2)指定安装方式 配置文件 命令文件 各种文件放哪里 开启模块功能[内 置模块 三方模块] 3

结合http详解基于域名的虚拟主机访问详细原理及过程

服务器如何响应 [[email protected] blog]# netstat -lntup|grep 80 tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5784/nginx 启动nginx服务,系统就监听了本机的80端口(80端口是本机的所有网卡),所以只要客户端请求任意一块网卡的IP 80端口,nginx都会响应,客户端请求任意一块网卡ip的80端口,ngi

nginx.conf详解

######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /usr/local/nginx/logs/error.log info; #进程pid文件pid /usr/local/nginx/log

Nginx安装与配置文件nginx.conf详解

引用“http://ixdba.blog.51cto.com/2895551/790611” 1.安装Nginx在安装Nginx之前,需确保系统已经安装了gcc. openssl-devel. pcre-devel和zlib-devel软件库.下面是Nginx安装过程: 1 wget http://nginx.org/download/nginx-1.0.14.tar.gz 2 tar zxvf nginx-1.0.14.tar.gz 3 ./configure --with-http_stub

NGINX配置文件nginx.conf详解

1.配置文件结构 Nginx配置文件主要分成四部分:main(全局设置).server(主机设置).upstream(上游服务器设置,主要为反向代理.负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令.main部分设置的指令将影响其它所有部分的设置:server部分的指令主要用于指定虚拟主机域名.IP和端口:upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡:location部分用于匹配网页位置(比如,根目录"/"

002-Nginx 配置文件nginx.conf详解

一.概述 默认启动Nginx时,使用的配置文件是: 安装路径/conf/nginx.conf 文件,可以在启动nginx的时候,通过-c来指定要读取的配置文件 1.1.核心模块指令 重点看看:error_log.include.pid.user.worker_cpu_affinity.worker_processes 1.1.1.日志模块指令 error_log 日志有6个级别:debug|info|notice|warn|error|crit:Nginx支持将不同的虚拟主机的日志记录在不同的地

Nginx 配置文件 nginx.conf 详解

#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /var/log/nginx/error.log info; #进程文件 pid /var/run/nginx.pid; #一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值

Nginx 配置文件详解

Nginx 配置文件详解 user nginx ; #用户 worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数 error_log logs/nginx_error.log crit; #错误日志 pid logs/nginx.pid; #pid放置的位置 worker_rlimit_nofile 204800; #指定进程可以打开的最大描述符 这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文 件数(ulimit -n)与ngin

Nginx入门详解文档

1 文章内容 掌握nginx+tomcat反向代理的使用方法. 掌握nginx作为负载均衡器的使用方法. 掌握nginx实现web缓存方法. 2 nginx介绍 2.1 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.官方测试nginx能够支支撑5万并发链接,并且cpu.内存等资源消耗却非常低,运行非常稳定. 3 nginx安装 3.1 下载 进入http://nginx.org/en/download.html 下载ngin