本文使用 Linux centos系统

一、Nginx虚拟主机的配置

虚拟主机:通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的。这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多台子服务器。我们把子服务器叫做虚拟主机。我们搭建好Nginx服务器之后,此时只有一台Nginx服务器,这时如果我们对这台服务器进行虚拟主机配置,就可以将一台Nginx服务器分割为多台独立的子服务器。

Nginx中配置虚拟主机的步骤主要有两个:

1、创建虚拟主机IP          通过ifconfig查看自己的主机ip,然后根据主机ip创建虚拟主机Ip。命令: ifconfig eth1:2 121.42.41.145 broadcast 121.42.43.255 netmask 255.255.252.0   执行后如图:

b、第二步是绑定IP地址与虚拟主机。       nginx.conf:该文件是nginx的系统配置文件,建议不要在这上边改动。我们一般采用自定义文件,然后加载该文件,从而达到相同的效果。

建立配置文件在 /usr/local/nginx/conf目录下创建 xnzj.conf。

#========工作衍生进程数(建议设置成与cpu核数相同或者2倍)==========
worker_processes 1;
#===========设置最大连接数==============
events {
worker_connections 1024;
}
#============http协议的相关信息==============
http {
server {
#===========要监听虚拟主机的IP地址与端口==========
listen 121.42.41.144:80;
#===========该虚拟主机的名称===========
server_name 121.42.41.144;
#===============该虚拟主机服务器的日志文件=========
access_log logs/server144.access.log combined;
#============== 默认请求资源=============
location / {
root html/server144;
#===== nginx会先找index.html 如果没找到就找index.htm
index index.html index.htm;
}
}
server {
#===========要监听虚拟主机的IP地址与端口==========
listen 121.42.41.145:80;
#===========该虚拟主机的名称===========
server_name 121.42.41.145;
#===============该虚拟主机服务器的日志文件=========
access_log logs/server145.access.log combined;
#============== 默认请求资源=============
location / {
root html/server145;
index index.html index.htm;
}
}
}

在 /usr/local/nginx/html下创建对应的虚拟主机默认资源 /usr/local/nginx/html/server144/index.html  ;/usr/local/nginx/html/server145/index.html

c、让Nginx加载我么自定义的配置文件(我的配置文件:xnzj.conf)      执行命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xnzj.conf

二、日志的配置

Nginx服务器在运行的时候,会有各种操作,这些关键的操作信息会记录到文件中,这些文件叫做日志文件。日志文件的记录是有格式的,我们可以按系统默认的格式去记录,也可以按我们自定义的格式去记录。我们可以使用log_format指令来设置Nginx服务器的日志文件的记录格式。

配置方式:打开nginx.conf 文件,开启注释的下端代码。

     #combined:日志输出格式
#remote_addr 客户端请求地址
#remote_user:客户端用户名
#request:请求的地址(服务器资源位置)
#status:用户的请求状态
#body_bytes_sent:服务器响应的资源大小(字节数),
#http_referer:源网页
#http_user_agent:客户端浏览器信息
#http_x_forwarded_for:客户端Ip地址
log_format combined '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#==================日志文件 access_log:off;表示关闭日志===========
access_log logs/access.log combined;

日志切割:
      为了使Nginx的日志文件存储更合理、有序,我们需要将日志文件进行分开存储,比如我们可以按时间来分开,今天的日志文件存储到一个文件中,明天的日志文件则存储到另一个新的文件中等等。这个时候,我们就会用到日志文件的切割操作。

日志切割步骤:

1、创建批处理文件

在/usr/local/nginx/logs目录下 执行 [root@iZ28b4kreuaZ logs]# touch cutlog.sh

2、为该文件添加内容:

D=$(date +%Y%m%d)
mv /usr/local/nginx/logs/access.log ${D}.log
kill -USR1 $(cat /usr/local/nginx/nginx.pid)

3、定时执行批处理文件   执行 crontab -e 命令添加以下内容

23 59 *** /bin/bash /usr/local/nginx/logs/cutlog.sh

 三、Nginx缓存配置

当我们在浏览器中浏览某网页时,我们会把该网页上的一些信息(比如这个网页上的图片)存储到本地,当我们第二次浏览该网页的时候,这个网页上的某些信息就可以从本地加载,这样速度就会快很多。存储到本地的这些信息我们把其称为缓存。但是缓存过多的时候,缓存文件就会非常大,影响我们正常的上网活动。故而缓存需要定期清理。

配置方式:/usr/local/nginx/conf/nginx.conf 配置文件的http{ server{}}中的location下添加 如下代码:

#====================缓存配置=============
location ~.*\.(jpg|png|swf|gif)${
expires 2d;#两天后清除
}
location ~.*\.(css|js)?${
expires:1h;#
}

四、Nginx的gzip压缩配置

这里我们提到的压缩功能指的是gzip压缩技术。通过gzip压缩技术,可以使原来的网页的内容大小压缩成原来的30%,这样,用户在访问网页的时候,由于传输的内容比原内容小很多,故而访问速度会快很多。Nginx服务器支持gzip压缩技术,但是,需要进行配置。

配置方式:/usr/local/nginx/conf/nginx.conf 配置文件的http{ }中添加 如下代码:

    gzip  on;#开启压缩
gzip_min_lenth 1k;#设置使用压缩的最小单位
gzip_buffers 4 16k;#创建压缩文件缓存大小
gzip_http_version 1.1;#使用压缩技术的协议 及其版本
gzip_vary:on;#开启判断客户端浏览器是否支持压缩技术

五、Nginx自动列目录配置  

  当客户端通过浏览器访问服务器上的某一文件夹的时候,如果该文件夹上有默认的首页文件,比如index.html,那么此时用户就会自动访问到index.html这个网页。但是,当没有index.html这一类默认首页的文件的时候,假设此时该文件夹还有其他文件,在没有配置自动列目录的功能的情况下,用户访问不到我们这个文件夹的内容。但当我们配置好了自动列目录功能之后,我们就可以看到该文件夹下所有文件的一个列表,该列表目录是自动列的。

实现自动列目录需要两个条件:

1.访问的文件夹下不存在index之类的默认首页文件。

2.服务器配置了自动列目录功能。

配置方式:/usr/local/nginx/conf/nginx.conf 配置文件的http{ server{}}中添加 如下代码:

location / {
root html;
index index.html index.htm;
autoindex on;#开启自动列目录
}

Nginx服务器之 Nginx的基本配置的更多相关文章

  1. Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...

  2. web服务器之nginx与apache

    最近准备架设php的web服务器,以下内容可供参考. 1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞 ...

  3. Web服务器之Nginx详解(操作部分)

    大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...

  4. Web服务器之Nginx详解(理论部分)

    大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...

  5. 【转】Web服务器之Nginx详解(理论部分)

    大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...

  6. Nginx服务器之基础学习

    一.Nginx介绍 nginx:Nginx是一种软件服务器(轻量级),故它最主要的功能就是可以与服务器硬件结合,我们的应用程序可以放在nginx服务器上进行发布,已达到让网民浏览的效果.除此自外,Ng ...

  7. web服务器之nginx和apache的区别

    ① apache属于重量级的服务器,nginx属于轻量级的服务器; 区别在于对一些功能的支持,比如:  pathinfo,php模块方面 ② nginx抗高并发能力强. 由于nginx采用的是异步非阻 ...

  8. Nginx服务器之负载均衡策略(6种)

    一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器.详情请查看我的另一篇博客. 二.Ng ...

  9. Nginx服务测试时的一些配置:wireshark、常用搜索URL格式、关闭防火墙、siege

    wrieshark sudo yum install wireshark-gnome sudo wireshar (以root启动,否则看不到网卡) 网站URL格式 以查询lumia为例 google ...

随机推荐

  1. su root认证失败的解决方法

    sudo passwd 输入安装密码. 输入新密码. 输入 su 即获得root权限.

  2. uva12063数位dp

    辣鸡军训毁我青春!!! 因为在军训,导致很长时间都只能看书yy题目,而不能溜到机房鏼题 于是在猫大的帮助下我发现这道习题是数位dp 然后想起之前讲dp的时候一直在补作业所以没怎么写,然后就试了试 果然 ...

  3. HDU 1394 Minimum Inversion Number ( 树状数组求逆序数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 Minimum Inversion Number                         ...

  4. PHP:函数赋参数默认初值

    函数的默认参数 允许定义函数时,指定参数的默认值,如: function js_location($url, $alert='', $top=''){ if($alert=='' && ...

  5. JQuery对象与DOM对象的区别与转换

      1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj ...

  6. Java的四种引用方式

    一.引用基本概念 从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引用.虚引用. 1.强引用(StrongRef ...

  7. ThreadPoolExecutor源码学习(1)-- 主要思路

    ThreadPoolExecutor是JDK自带的并发包对于线程池的实现,从JDK1.5开始,直至我所阅读的1.6与1.7的并发包代码,从代码注释上看,均出自Doug Lea之手,从代码上看JDK1. ...

  8. ajax 全套

    ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.Ajax不是一种新的编程语言, ...

  9. Android中数据存储(一)

    国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...

  10. Unity3D 脚本手册

    1.private Ray ray;  --定义射线 ray = Camera.main.ScreenPointToRay(Input.mousePosition);  --摄像机发出的射线投射鼠标到 ...