nginx小知识
What
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。
反向代理
当我们在外网访问百度的时候,其实会进行一个转发,代理到内网去,这就是所谓的反向代理,即反向代理“代理”的是服务器端,而且这一个过程对于客户端而言是透明的。
服务器根据客户端的请求,从其关联的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在
正向代理
由于防火墙的原因,我们并不能直接访问谷歌,那么我们可以借助VPN来实现,这就是一个简单的正向代理的例子。这里你能够发现,正向代理“代理”的是客户端,而且客户端是知道目标的,而目标是不知道客户端是通过VPN访问的。
工作方式
Master-Worker模式
启动Nginx后,其实就是在80端口启动了Socket服务进行监听,如图所示,Nginx涉及Master进程和Worker进程。
安装
这个参考的是中文官网,但注意的是,官网上依赖的包不是最新的,可能会找不到相应的资源,自己注意替换为最新的
配置
我按照默认来,配置是在nginx.conf文件中
- 修改user 参数,nginx默认启动的是nobody用户,需要修改为指定用户,不然会导致读取目录权限出错的问题;
- server -- location 中修改root 指定到你需要指定的内容目录
- 实际工作中,会根据host来管理conf,会把所有的conf放在vhost目录中,方便管理,只需要在nginx.conf加载vhost目录即可,如下:
命令
{nginx_home}/nginx # 启动nginx {nginx_home}/nginx -s reload # 重新载入配置文件 {nginx_home}/nginx -s reopen # 重启 Nginx {nginx_home}/nginx -s stop # 停止 Nginx