nginx的安装与使用

nginx的安装与使用

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,公开版本1.19.6发布于2020年12月15日。

下载

下载网址:https://nginx.org/en/download.html

linux版是tar.gz压缩包,windows版是zip压缩包

安装

windows版本下载完解压到路径下就可以正常使用了,这里主要讲linux版本的安装

  1. 将tar.gz压缩包放到指定路径下解压

    tar -zxvf nginx-1.22.0.tar.gz
    
  2. 下载相关依赖

    安装编译环境 
    yum -y install gcc gcc-c++
    安装pcre软件包(Nginx 的Rewrite模块和HTTP 核心模块会使用到PCRE正则表达式语法)
    yum install -y pcre pcre-devel
    安装zlib库(提供了很多种压缩与解压缩的方式,nginx使用zlib对http包的内容进行gzip)
    yum install -y zlib zlib-devel gd gd-devel
    安装openssl(是安全套接字密码库,nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。)
    yum install -y openssl openssl-devel
    
  3. 从源代码中构建nginx

    1.配置
    通过configure创建一个Makefile
    进入nginx解压后的路径下执行命令
    ./configure \
    --prefix=/opt/shen/nginx \
    --with-http_ssl_module \
    --with-http_gzip_static_module \
    --with-http_stub_status_module
    
    --prefic=path  
    定义nginx服务存放路径,默认路径:/usr/local/nginx
    --with-http_ssl_module  
    允许构建一个将 HTTPS 协议支持添加 到 HTTP 服务器的模块。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
    --with-http_gzip_static_module  
    启用构建 ngx_http_gzip_static_module 模块,该模块可以发送带有“ .gz”文件扩展名的预压缩文件而不是常规文件。默认情况下不构建此模块。
    --with-http_stub_status_module  
    启用构建 ngx_http_stub_status_module 模块,该模块提供对基本状态信息的访问。默认情况下不构建此模块。
    
    更多的配置参数在官网有说明,可以根据实际场景进行添加:
    https://nginx.org/en/docs/configure.html
    2.构建
    根据Makefile文件将软件源代码编译成可执行文件,执行命令
    make
    3.安装
    将可执行文件、第三方依赖包和文档复制到正确的路径
    make install
    
  4. 测试是否安装成功

    进入nginx/sbin路径下执行命令
    ./nginx
    关闭防火墙
    systemctl stop firewalld
    访问页面
    http://ip:80  默认配置是80端口
    如果有Welcome to nginx!的页面则安装成功
    

nginx常用命令

首先需要到对应的nginx路径下执行命令   
cd /nginx-path/nginx/sbin  
./nginx -c /nginx-path/nginx.conf  以特定路径下的nginx配置文件运行nginx
./nginx -s reload  修改配置后重新加载生效
./nginx -s reopen  重新打开日志文件
./nginx -s stop  快速停止nginx
./nginx -s quit  完整有序的停止nginx
./nginx -t -c /nginx-path/nginx.conf 检查特定路径下的nginx配置文件是否正确

正向代理与反向代理

正向代理

架设在客户机与目标主机之间,代理客户端,服务端并不知道实际发起请求的客户端
作用:
1.访问之前无法访问的资源
2.作为缓存加快访问速度
3.对客户端访问授权进行上网认证
4.代理记录用户访问记录,对外隐藏用户信息
应用场景:VPN:用户先访问VPN,VPN进行地址转发请求,并将请求结果原路返回

反向代理

架设在服务端,代理服务端,客户端并不知道实际提供服务的服务端
作用:
1.保护内网安全
2.负载均衡
3.缓存,减少服务器压力
应用场景:大型网址:用户发起请求,会转发多个服务器中的一台去处理

官方文档网址

https://nginx.org/en/docs/

posted @ 2022-09-03 15:23  柯南。道尔  阅读(137)  评论(0编辑  收藏  举报