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版本的安装
-
将tar.gz压缩包放到指定路径下解压
tar -zxvf nginx-1.22.0.tar.gz
-
下载相关依赖
安装编译环境 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
-
从源代码中构建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
-
测试是否安装成功
进入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.缓存,减少服务器压力
应用场景:大型网址:用户发起请求,会转发多个服务器中的一台去处理