Linux下的Nginx安装与配置

一、Nginx简介

什么是Nginx?

Nginx是一个http服务器。是一款使用c语言开发高性能的http 服务器/反向代理服务器及电子邮件代理服务器。官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。它的特点是占有内存少,并发能力强。

Nginx的应用场景
  • http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
  • 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  • 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
代理
说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道。
正向代理

正向代理最大的特点是客户端非常明确要访问的服务器地址,服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端。正向代理模式屏蔽或者隐藏了真实客户端信息。



正向代理的用途:

  1. 访问原来无法访问的资源,如Google
  2. 可以做缓存,加速访问资源
  3. 对客户端访问授权,上网进行认证
  4. 代理可以记录用户访问记录,对外隐藏用户信息
反向代理

多个客户端给服务器发送的请求,Nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理了。此时,请求的来源也就是客户端是明确的,但是请求具体由哪台服务器处理的并不明确了,Nginx扮演的就是一个反向代理角色。客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。



反向代理的作用
(1)保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
(2)负载均衡,通过反向代理服务器来优化网站的负载

关于代理

二、Nginx安装

  使用docker安装Nginx在docker的使用中有举例子
安装Homebrew

安装Homebrew:打开终端,输入如下一行代码即可:
ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
但是我这里安装的时候出现报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
*******解决办法:使用国内的镜像地址:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

使用 Homebrew 安装 Nginx
  1. 在终端输入如下命令:brew install nginx
  2. 查看Nginx 是否安装成功:brew search Nginx
  3. 查看Nginx的版本号:nginx -v


  4. 启动nginx: brew services start nginx


  5. 启动成功后,使用浏览器打开http://localhost:8080 。出现以下页面,就说明启动成功了!(8080是nginx设置网站自带的默认端口)


三、Nginx的配置

Nginx配置文件

如果你下载好了Nginx,就可以打开conf文件夹的nginx.conf文件,Nginx服务器的基础配置,默认的配置也存放在此。

nginx文件目录

  • nginx安装文件目录 : /usr/local/Cellar/nginx
  • nginx配置文件目录 : /usr/local/etc/nginx
  • config文件目录 : /usr/local/etc/nginx/nginx.conf
  • 系统hosts位置 : /private/etc/hosts

配置文件 nginx.conf :

  • 全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
  • events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
  • http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
  • server块:配置虚拟主机的相关参数,一个http中可以有多个server。
  • location块:配置请求的路由,以及各种页面的处理情况。

具体配置路径

配置网站
  1. 进入配置文件 默认路径在 : /usr/local/etc/nginx/nginx.conf,可以打开文件夹,使用com+shift+g,复制路径即可到达该文件。
  2. 修改配置文件:


本地网站路径就是自己要存放html的路径,我这里写的路径是:/Users/buyifan/document/www

  1. 在自己设置的目录下放置要访问的文件。
  2. 修改配置文件之后需要重启Nginx : nginx -s reload
  3. 打开浏览器输入自己设置的端口号进行访问网页。


  4. 在该端口号后面加上自己的文件名称,就可以访问自己要看的网页


nginx的常用命令

  • nginx -s quit : 优雅停止nginx,有连接时会等连接请求完成再杀死worker进程
  • nginx -s reload : 优雅重启,并重新载入配置文件nginx.conf
  • nginx -s reopen : 重新打开日志文件,一般用于切割日志
  • nginx -v : 查看版本
  • nginx -t : 检查nginx的配置文件
  • nginx -V : 详细版本信息,包括编译参数
  • nginx -c filename : 指定配置文件
  • brew services stop Nginx : 关闭nginx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值