部署Django博客全记录之Nginx篇(一)

Nginx的优点

  • 注:具体原理没搞清,先记着
  1. Nginx更安全;Nginx能更好地处理静态资源(通过一些http request header)。
  2. Nginx也可以缓存一些动态内容;Nginx可以更好地配合CDN。
  3. Nginx可以进行多台机器的负载均衡。
  4. 不需要在wsgi server那边处理keep alive;让Nginx来处理slow client。

使用了Gunicorn或者uWSGI,为什么还需要Nginx?

  1. 本地有多个 web 服务,有 Python、php、java 编写的,都想监听 80 端口,Nginx可以负责转发服务。
  2. 如服务器被人 黑,nginx 可以比较方便的把一些 IP 加入黑名单,直接改配置文件就好了。要是 uwsgi 或者 gunicorn,可能还要修改自己应用的代码,把 IP 过滤写进去。

Nginx 服务相关的操作

$ sudo apt-get install nginx    //安装
$ sudo service nginx start     //启动
$ sudo service nginx status   //状态
$ sudo service nginx stop     //停止
$ sudo service nginx restart   //重启
ps -aux | grep nginx   //查看Nginx进程

ubuntu安装nginx的目录结构

内容

  • /var/www/html :实际的Web内容,它在默认情况下只包含您在前面看到的默认Nginx的页面,供应出的/var/www/html目录。 这可以通过改变Nginx配置文件来改变。

服务器配置

  • /etc/nginx :nginx的配置目录。 所有的Nginx配置文件位于这里。
  • /etc/nginx/nginx.conf :主要Nginx的配置文件。 这可以修改以更改Nginx全局配置。
  • /etc/nginx/sites-available :其中每个站点的“服务器模块”可以保存的目录。 Nginx的不会用找到的配置文件,在这个目录中,除非它们被链接到sites-enabled目录(见下文)。 通常,所有服务器块配置都在此目录中完成,然后通过链接到其他目录启用。
  • /etc/nginx/sites-enabled/ :其中,启用每个站点的“服务器块”存储的目录。 通常,这些被链接到配置中找到的文件创建sites-available目录。
  • /etc/nginx/snippets :该目录包含可在Nginx的配置在其他地方被列入配置片段,潜在可重复的配置段是重构到片段的良好候选。(这条不懂)

服务器日志

  • /var/log/nginx/access.log :到Web服务器的每个请求都被记录在此日志文件,除非Nginx的配置不这样做。
  • /var/log/nginx/error.log :任何Nginx的错误会被记录在此日志。

nginx配置的基本思路和步骤如下

  1. 把2个站点 example1.com, example2.com 放到 nginx 可以访问的目录 /www/
  2. 给每个站点分别创建一个 nginx 配置文件 example1.com.conf,example2.com.conf,
    并把配置文件放到 /etc/nginx/sites-available/下,
  3. 把/etc/nginx/sites-available/的example1.com.conf,example2.com.conf两个文件,符号链接(默认的default配置文件就是如此,你看sites-enabled下的default文件的属性)到/etc/nginx/sites-enabled/目录下(使用绝对路径)
    sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/example1.com
  4. 确认在 /etc/nginx/nginx.conf 里面有一句 include /etc/nginx/sites-enabled/*;

example.com.conf文件配置详解

  1. 各个字段的意思
  2. 作用细节

猜你喜欢

转载自blog.csdn.net/weixin_43829633/article/details/85221570
今日推荐