21分钟入门Nginx

也许是最好的Web服务器

安装与配置

Nginx名气太大,就不详细介绍了,因为我用的是Mint OS,所以这篇文章对于Debian系OS是适用的。

  1. 各种命令
    安装:sudo apt-get install nginx
    启动:sudo service nginx start
    停止:sudo service nginx stop
    重载:sudo service nginx reload
    Mac版:
    安装:brew install nginx
    启动:sudo nginx
    停止:sudo nginx -s stop
    重启:sudo nginx -s reopen
    重载:sudo nginx -s reload

  2. 配置
    nginx的默认配置文件是:

/etc/nginx/nginx.conf

这个配置文件又加载了一个外部的配置文件:

include /etc/nginx/sites-enabled/*

sites-enabled 文件夹下只有一个default文件,这货才是我们真正需要了解的。去掉注释后,实际上没几行:

server {
  listen 80 default_server;
  listen [::]:80 default_server ipv6only=on;

  root /usr/share/nginx/html;
  index index.html index.htm;

  # Make site accessible from http://localhost/
  server_name localhost;

  location / {
      # First attempt to serve request as file, then
      # as directory, then fall back to displaying a 404.
      try_files $uri $uri/ =404;
      # Uncomment to enable naxsi on this location
      # include /etc/nginx/naxsi.rules
  }
}

server_name就是url中的域名,当前是localhost,我们就可以在浏览器通过localhost访问到这台server。80是 http的默认端口,不要轻易修改。default_server 的含义是指如果有其他 http 请求的 host 在 nginx 中不存在相关配置的话那么就用这台 server 的配置来处理。比如访问127.0.0.1就由这台server来处理。root是url请求的根路径,index是默认访问页面。

  1. 日志路径

/var/log/nginx

大杀器

  1. 反向代理
    要明白什么是反向代理,首先要搞清楚什么是正向代理。正向代理作为客户端的中介,隐藏了真实的客户端向服务器获取资源,翻墙软件就是典型的正向代理。
g.png

反向代理顾名思义就是作为服务端的中介,隐藏掉真实提供服务的服务器,它是负载均衡的基础。

g.png

配置如下:

/etc/nginx/sites-enabled/default

location / {
       proxy_pass http://localhost:8080;
       proxy_set_header X-Real-IP $remote_addr;//获得客户端真实IP
}
localhost/mc/将会被代理到localhost:8080/mc/

location /static/ {
       root /home/admin;
}
localhost/static/images/a.jpg的资源存储在/home/admin/images/a.jpg
  1. 负载均衡

有了反向代理之后,我们就可以把大量请求分散到多台机器。
配置如下:

/etc/nginx/sites-enabled/default server模块

location /mc {
      proxy_pass http://mc;
}
/etc/nginx/nginx.conf http模块

upstream mc {
      ip_hash;
      server 192.168.1.13:8079;
      server localhost:8080;
}

总结

之所以要写这篇文章是因为每当去网上搜索技术资料的时候,总是能看到不少劣质文章,排版混乱,东拼西凑,未经测试。这些人自己没有技术品位也就算了,贡献垃圾信息我就不能忍了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是一个Nginx的入门教程,主要是给想了解Nginx的朋友一个快速上手的学习资料。简化很多内容,如果对Nginx...
    xd1412阅读 381评论 0 0
  • nginx是什么:nginx是一个高性能的HTTP和反向代理web服务器。同时也提供了IMAP/POP3/S...
    tuacy阅读 962评论 1 6
  • 一、Nginx 简介 ①、Nginx 是一个高性能的HTTP和反向代理服务器;②、特点是占有的内存少,并发能力强,...
    紫雨杰阅读 174评论 0 1
  • 写在前面的话: 本文参考了其他人写的很多文章,在后面的附录中列举出来,未能及时列出的引用还望作者理解,本文仅仅作...
    如烟花非花阅读 4,082评论 0 8
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,588评论 28 53