Nginx学习经验总结

网友投稿 668 2022-05-30

1.简介

Nginx是一个高性能的HTTP和反向代web理服务器,相应更快,占用内存比较小,并发能力强,官网称可以处理五万个并发连接请求。

2.作用

2.1 反向代理

正向代理是代理客户端的,帮助客户端去请求服务端;而反向代理是代理服务端的,当客户端请求时可以无感知的访问服务器资源以及让服务更好的部署上线。

2.2 负载均衡

负载均衡的策略有两种:一种是扩展策略,一种是内置策略。内置策略为轮询、加权轮询、iphash(可以解决session不共享的问题,是对客户端的请求的ip进行hash操作,然后根据hash计算结果将同一个ip分配到同一个服务器上进行处理)。

3.安装

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

下载时最好选择稳定版本下载即Stable version。

3.1 Windows安装和使用

Nginx学习经验总结

其中Windows下载有Windows标识的下载后是一个zip包,通过在非中文目录下解压缩后执行nginx.exe即可使用,由于conf中默认配置了监听80端口,本地测试是否启动成功,可以http://localhost/进行访问如果访问到页面显示welcome nginx即为访问成功。

3.2 Linux安装和使用

3.2.1 查看是否已安装

首先确保查看是否有nginx,执行指令whereis nginx,或者直接输入nginx,如果返回 not found即为没有安装过。

3.2.2 安装

3.2.2.1 首先将下载好的nginx-1.20.2.tar.gz压缩包放到服务器上,然后执行解压缩指令tar -zxvf nginx-1.20.2.tar.gz

3.2.2.2 执行配置文件,首先cd进解压好的nginx文件中,然后执行./configure(绿色可执行文件)

如果出现错误为:./configure: error: the HTTP rewrite module requires the PCRE library.

安装pcre-devel解决问题

yum -y install pcre-devel

如果出现出现错误提示:./configure: error: the HTTP cache module requires md5 functions

from OpenSSL library.   You can either disable the module by using

--without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

--with-http_ssl_module --with-openssl= options.

解决办法:

yum -y install openssl openssl-devel

3.2.2.3 执行make指令进行安装

3.2.2.4 执行手动安装make install

3.2.2.5 完成安装,可以通过whereis nginx找到安装到了usr/local/nginx中,在其中是sbin中执行文件,可以通过./nginx进行执行,如果执行成功会没有任何日志,还可以通过服务器ip:80或者服务器ip进行访问,如果出现welcome nginx即为访问成功。

3.3 指令

3.3.1 启动 ./nginx

3.3.2 停止 ./nginx -s  stop 会将进程强制停止

3.3.3 安全退出 ./nginx -s quit 会确保进程是安全的才会一项一项的停止

3.3.4重新加载配置文件(经常会用) ./nginx -s reload

3.3.5 查看nginx进程 ps aux | grep nginx

3.3.6 补充:如何查看端口是否开放

3.3.6.1 开启防火墙 service firewalld start

3.3.6.2 重启防火墙 service firewalld restart

3.3.6.3 关闭防火墙 service firewalld stop

3.3.6.3 查看防火墙规则 firewalld -cmd --list-all

3.3.6.4 查询端口是否开放 firewall-cmd --query-port=8080/tcp

3.3.6.5 开放80端口 firewall-cmd --permanent --add-port=80/tcp

3.3.6.6 移除端口 firewall-cmd --permanent --remove-port=8080/tcp

3.3.6.7 重启防火墙(修改配置后重启防火墙)firewall-cmd --reload

3.3.6.8参数

3.3.6.8.1 firewall-cmd 是Linux提供的操作firewall 的一个工具;

3.3.6.8.2 --permanent表示设置为持久;

3.3.6.8.3--add-port表示添加的端口

3.4 nginx构成

3.4.1 全局配置 比如指定用户 指定进程等

3.4.2 events配置 比如最大连接数,监听事件

3.4.3 http配置

3.4.3.1 http配置中的全局配置 比如静态文件

3.4.3.2 配置server不同的服务

http默认端口是80

https默认端口443

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Android JNI(实现自己的JNI_OnLoad函数)
下一篇:博客技术资料整理
相关文章