Nginx快速上手(一)

Nginx的优点

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

特性

  1. sendfille,系统调用sendfile()通过 DMA把硬盘数据拷贝到 kernel buffer,然后数据被 kernel直接拷贝到另外一个与 socket相关的 kernel buffer。这里没有 user mode和 kernel mode之间的切换,在 kernel中直接完成了从一个 buffer到另一个 buffer的拷贝。
  2. I/O 多路复用epoll模型 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。select/epoll的好处就在于单个process就可以同时处理多个网络连接的IO。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。
  3. 轻量级,面向性能设计,功能模块少,代码模块少。
  4. CPU亲和性(affinity),CPU affinity 是一种调度属性(scheduler property), 它可以将一个进程"绑定" 到一个或一组CPU上,一般是master进程

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进程
配置
  • /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/*;

参考链接

理解 Nginx 源码
深入浅出搞懂Nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值