Nginx教程(入门篇)

目录
一、认识配置文件
二、启动、停止、重启服务器
三、常用设置

系列教程
Nginx教程(初识篇)


一、认识配置文件

(1)使用包管理工具,查看nginx安装目录

rpm -ql nginx

(2)总配置文件

//文件路径
/etc/nginx/nginx.conf

//文件内容说明

#运行用户,默认即是nginx,可以不进行设置
user  nginx;
#Nginx进程,一般设置为和CPU核数一样
worker_processes  1;   
#错误日志存放目录
error_log  /var/log/nginx/error.log warn;
#进程pid存放位置
pid        /var/run/nginx.pid;

events {
    worker_connections  1024; # 单个后台进程的最大并发数
}

http {
    include       /etc/nginx/mime.types;   #文件扩展名与类型映射表
    default_type  application/octet-stream;  #默认文件类型
    #设置日志模式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;   #nginx访问日志存放位置

    sendfile        on;   #开启高效传输模式
    #tcp_nopush     on;    #减少网络报文段的数量

    keepalive_timeout  65;  #保持连接的时间,也叫超时时间

    #gzip  on;  #开启gzip压缩

    include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件

(3)子配置文件

//文件路径
/etc/nginx/conf.d/default.conf

//文件内容说明

server {
    listen       80;   #配置监听端口
    server_name  localhost;  //配置域名

    #charset koi8-r;     
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;     #服务默认启动目录
        index  index.html index.htm;    #默认访问文件
    }

    #error_page  404              /404.html;   # 配置404页面

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;   #错误状态码的显示页面,配置后需要重启
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

二、启动、停止、重启服务器

1、启动
nginx    //后续重启的话,只能通过强制删除进程,才能成功
//或者
systemctl start nginx.service
2、停止
//三选一
nginx -s quit    //温和停止
nginx -s stop    //强硬停止
killall nginx    //野蛮停止,杀死进程
//或者
systemctl stop nginx.service
3、重启
systemctl restart nginx.service
4、查询nginx服务的运行情况
ps aux | grep nginx

PS:每次更改配置文件,都需要重启nginx服务。


三、常用设置

1、自定义错误页
error_page   状态码  错误页路径;
2、访问权限
//allow:允许ip访问
//deny:禁止ip访问
//all:所有ip
//使用all会覆盖后者控制的权限(如:deny all在前,allow xxx.xxx.xxx.xxx在后,表示禁止所有ip访问)
#根目录权限
location / {
    allow xxx.xxx.xxx.xxx;
    deny all;
}

#子目录权限
location =/img{
    allow all;
}
location =/admin{
    deny all;
}

#使用正则,控制.php文件访问权限
location ~\.php$ {
    deny all;
}
3、增加虚拟主机

(1)在/etc/nginx/conf.d目录下,新建.conf文件

(2)配置端口号、ip、域名

//一般都使用域名,新建虚拟主机
listen       80;    //端口号
server_name  localhost;    //ip或者域名
4、反向代理

(1)正向代理的概念
受益者是客户端。
科学上网工具就是一个典型的正向代理工具,它会把我们不让访问的服务器的网页请求,代理到一个可以访问该网站的代理服务器上来,一般叫做proxy服务器,再转发给客户。

(2)反向代理的概念
受益者是服务端。
反向代理跟代理正好相反(需要说明的是,现在基本所有的大型网站的页面都是用了反向代理),客户端发送的请求,想要访问server服务器上的内容。发送的内容被发送到代理服务器上,这个代理服务器再把请求发送到自己设置好的内部服务器上,而用户真实想获得的内容就在这些设置好的服务器上。

(3)反向代理的用途和好处
安全性:正向代理的客户端能够在隐藏自身信息的同时访问任意网站,这个给网络安全代理了极大的威胁。因此,我们必须把服务器保护起来,使用反向代理客户端用户只能通过外来网来访问代理服务器,并且用户并不知道自己访问的真实服务器是那一台,可以很好的提供安全保护。
功能性:反向代理的主要用途是为多个服务器提供负债均衡、缓存等功能。负载均衡就是一个网站的内容被部署在若干服务器上,可以把这些机子看成一个集群,那Nginx可以将接收到的客户端请求“均匀地”分配到这个集群中所有的服务器上,从而实现服务器压力的平均分配,也叫负载均衡。

(4)基本配置

server{
        location / {
               proxy_pass (ip 或者 域名);
        }
}

(5)常用配置项

配置项 作用
proxy_set_header 在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。
proxy_connect_timeout 配置Nginx与后端代理服务器尝试建立连接的超时时间。
proxy_read_timeout 配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。
proxy_send_timeout 配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。
proxy_redirect 用于修改后端服务器返回的响应头中的Location和Refresh。
5、双端适配(两套页面)
server{
        location / {
         root /usr/share/nginx/pc;
         #这里只填写了部分的手机类型
         if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry|)') {
            root /usr/share/nginx/mobile;
         }
         index index.html;
        }
}
6、gzip压缩

(1)定义
gzip是网页的一种网页压缩技术,经过gzip压缩后,页面大小可以变为原来的30%甚至更小。更小的网页会让用户浏览的体验更好,速度更快。gzip网页压缩的实现需要浏览器和服务器的支持。

(2)基本配置

http {
    gzip on;
    gzip_types text/plain application/javascript text/css;
}

(3)常用配置项

配置项 作用
gzip 该指令用于开启或 关闭gzip模块。
gzip_buffers 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。
gzip_comp_level zip压缩比,压缩级别是1-9,1的压缩级别最低,9的压缩级别最高。压缩级别越高压缩率越大,压缩时间越长。
gzip_disable 可以通过该指令对一些特定的User-Agent不使用压缩功能。
gzip_min_length 设置允许压缩的页面最小字节数,页面字节数从相应消息头的Content-length中进行获取。
gzip_http_version 识别HTTP协议版本,其值可以是1.1.或1.0.
gzip_proxied 用于设置启用或禁用从代理服务器上收到相应内容gzip压缩。
gzip_vary 用于在响应消息头中添加Vary:Accept-Encoding,使代理服务器根据请求头中的Accept-Encoding识别是否启用gzip压缩。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • 测试代理接口的时候,还需要知道正向代理,反向代理,突然觉得作为测试人员必须是万能的。 nginx概述 nginx是...
    留沪小厮阅读 1,629评论 2 1
  • 参考:https://www.cnblogs.com/zhouxinfei/p/7862285.html 侵删 n...
    会飞的鱼_500阅读 1,223评论 0 1
  • Page 1:nginx 服务器安装及配置文件详解 CentOS 6.2 x86_64 安装 nginx 1.1 ...
    xiaojianxu阅读 8,529评论 1 41
  • 《老男孩Linux运维》笔记 隐藏Nginx软件版本号 一般来说,软件的漏洞都和版本有关。因此要尽量隐藏对访问用户...
    Zhang21阅读 3,630评论 0 28
  • 这两三天好累,人感冒啦,喉咙说话也疼,怎么还不见好,药都吃了那么多了…感觉今年已经生病四次啦 今天没睡着,因为下午...
    LittleWendy阅读 193评论 0 0