Nginx服务器之 Nginx的基本配置
本文使用 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的基本配置的更多相关文章
- Nginx服务器之Nginx与tomcat结合访问jsp
本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...
- web服务器之nginx与apache
最近准备架设php的web服务器,以下内容可供参考. 1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞 ...
- Web服务器之Nginx详解(操作部分)
大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...
- Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- 【转】Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- Nginx服务器之基础学习
一.Nginx介绍 nginx:Nginx是一种软件服务器(轻量级),故它最主要的功能就是可以与服务器硬件结合,我们的应用程序可以放在nginx服务器上进行发布,已达到让网民浏览的效果.除此自外,Ng ...
- web服务器之nginx和apache的区别
① apache属于重量级的服务器,nginx属于轻量级的服务器; 区别在于对一些功能的支持,比如: pathinfo,php模块方面 ② nginx抗高并发能力强. 由于nginx采用的是异步非阻 ...
- Nginx服务器之负载均衡策略(6种)
一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器.详情请查看我的另一篇博客. 二.Ng ...
- Nginx服务测试时的一些配置:wireshark、常用搜索URL格式、关闭防火墙、siege
wrieshark sudo yum install wireshark-gnome sudo wireshar (以root启动,否则看不到网卡) 网站URL格式 以查询lumia为例 google ...
随机推荐
- Scrum项目7.0
队友: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...
- python+Eclipse+pydev环境搭建
python+Eclipse+pydev环境搭建 本文重点介绍使用Eclipse+pydev插件来写Python代码, 以及在Mac上配置Eclipse+Pydev 和Windows配置Ecli ...
- 2016-2-1 Servlet细节
Servlet的一些细节(韩顺平老师视频讲解)(1)由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序想要被外界访问,必须把servlet程序映射到一个URL地址上.这个工作在 ...
- C++ 结构体数组回调C#代码,c#数组只有一条
C# 方法 [UnmanagedFunctionPointerAttribute(CallingConvention.StdCall, CharSet = CharSet.Ansi)] public ...
- 斯考特·杨(Scott Young)快速学习方法
上午在网上看到了斯考特·杨(Scott Young)的快速学习方法,感觉很受鼓舞. 现在已经读研究生了,可是发现自己自从上大学以来到现在,发现自己的学习方法有很大的问题. 我是个特别喜欢读书的人,在大 ...
- 【Java】JDK类 CountDownLatch
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown() 方法,所以在当前计数到达 ...
- 在VS2012下静态链接MFC的问题
1>------ 已启动生成: 项目: MFCApplication1, 配置: Debug Win32 ------1>uafxcwd.lib(afxctrlcontainer2.obj ...
- .net core Jwt 添加
Jwt 已经成为跨平台身份验证通用方案,如不了解请关注:https://jwt.io/. 为了和微软其他验证模块有个比较好的衔接,项目中采用了微软开发的jwt组件: System.IdentityMo ...
- 出现了内部错误-网站中X509Certificate2加载证书时出错
今天给网站配置了加密证书文件,用类X509Certificate2加载证书文件时,一直报出现了内部错误,但是Demo中用控制台程序加载证书没任何问题 读取证书文件的语句: X509Certificat ...
- 创建Chrome启动器
今天清理垃圾时不知怎么把chrome启动器删除了,现在要重新创建一个 1.在桌面创建一个chrome.exe的快捷键方式,属性更改目标为: "C:\Program Files (x86)\G ...