深入浅出Nginx之一【简介与环境搭建】

news/2024/7/7 21:48:43 标签: nginx

【Nginx简介】

     Nginx(发音同engine x),是来自于俄罗斯的高性能web服务器和反向代理服务器。在国内有新浪、网易、豆瓣、迅雷等多家网站使用。尴尬

     负载均衡(load balance):使用Nginx作为代理服务器,接收用户请求,并将其“均匀地转发”给多台内部web服务器,不会出现负载集中在某台服务器的现象。

    反向代理(reverse proxy):标准的代理是用户使用代理软件访问互联网上的多台web服务器,而反向代理指的是多个用户使用代理服务器访问多台内部web服务器的模式。

使用Nginx的优点:

     支持高并发访问:在生产环境下支持高达5万以上的并发连接数。大笑

     内存消耗少:在5万并发连接环境下,开启10个worker进程,仅仅消耗150M内存。

     容易配置:配置文件便于学习、阅读。

     成本低廉:Nginx是免费的开源软件,无须付费。

     支持rewrite重写规则:Nginx使用pcre进行正则表达式匹配,根据请求域名、url的不同,将http请求分发给不同的后端服务器。

     内建健康检查功能:Nginx能够检测某台后端服务器是否宕机,不影响用户访问。

     节省带宽:可以对静态资源进行gzip高效压缩,而通常浏览器都具有gzip解压缩功能。

     性能稳定:使用Nginx作为反向代理服务器,有效避免了网络攻击对后端服务器的影响,提高了安全性。

 

【安装Nginx】

一. 安装依赖包:哭

1. 安装pcre:对正则表达式的支持。

   tar -zxvf pcre-8.33.tar.gz

Shell代码   收藏代码
  1. cd pcre-8.33  
  2. ./configure --prefix=/usr/local/pcre  
  3. make && make install   

 2. 安装zlib:对gzip压缩的支持。    

Shell代码   收藏代码
  1. tar -zxvf zlib-1.2.8.tar.gz  
  2. cd zlib-1.2.8  
  3. ./configure --prefix=/usr/local/zlib  
  4. make && make install   

 3. 安装openssl:对ssl协议的支持。 

Shell代码   收藏代码
  1. tar -zxvf openssl-1.0.0.tar.gz   
  2. cd openssl-1.0.0  
  3. ./config --prefix=/usr/local/openssl  
  4. make && make install   

 二. 安装Nginx:酷

 1. 创建日志目录: 

Shell代码   收藏代码
  1. mkdir -p /opt/nginx/logs  

 2. 解压、配置: 

Shell代码   收藏代码
  1. tar -zxvf nginx-1.6.0.tar.gz  
  2. cd nginx-1.6.0  
  3. ./configure --prefix=/usr/local/nginx \  
  4. --error-log-path=/opt/nginx/logs/error.log \  
  5. --http-log-path=/opt/nginx/logs/access.log \  
  6. --with-pcre=/software/pcre-8.33 \  
  7. --with-zlib=/software/zlib-1.2.8 \  
  8. --with-http_ssl_module \  
  9. --with-openssl=/software/openssl-1.0.0 \  
  10. --with-http_stub_status_module \  
  11. --with-http_realip_module \  
  12. --with-http_gzip_static_module \  
  13. --without-http_fastcgi_module \  
  14. --without-http_memcached_module \  
  15. --without-http_map_module \  
  16. --without-http_geo_module \  
  17. --without-http_autoindex_module \  
  18. --with-poll_module  

说明:

     1. 使用\:表示多个物理行同属一个逻辑行.

     2. 日志文件:error.log存放Nginx的错误日志,access.log存放用户访问日志.

     3. 依赖关系:pcre、zlib、openssl需要设置为源码位置,而不是安装位置.

3. 编译、安装: 

Shell代码   收藏代码
  1. make && make install  

  

【最小配置】吐舌头

1. 修改Nginx启动端口号:修改监听端口号为8080,因为只有root账号能够使用0-1024之间的端口号. 

Shell代码   收藏代码
  1. vi /usr/local/nginx/conf/nginx.conf  
  2. listen       8080;  

2. 防火墙设置:开放8080端口 

Shell代码   收藏代码
  1. su - root  
  2. vi /etc/sysconfig/iptables  

 追加如下内容:

Shell代码   收藏代码
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  

 重启网卡: 

Shell代码   收藏代码
  1. service iptables restart  

 

【启动、关闭】惊讶

1. 启动nginx:并指定配置文件,参数-c为configure 

Shell代码   收藏代码
  1. /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  

 2. 关闭nginx:参数-s为signal 

Shell代码   收藏代码
  1. #等待worker进程处理完用户的当前请求,再进行关闭  
  2. /usr/local/nginx/sbin/nginx -s quit  
  3. #快速关闭  
  4. /usr/local/nginx/sbin/nginx -s stop  

 3. 使用kill命令关闭:关闭主进程(master process),从进程(worker process)随之消亡.

Shell代码   收藏代码
  1. ps -ef | grep nginx  
  2. kill 21531 

http://www.niftyadmin.cn/n/1307955.html

相关文章

Istio安装与Bookinfo部署

一、下载Istio软件包 ➜ ~ curl -L https://istio.io/downloadIstio | sh - ➜ ~ ls -l istio-1.10.1 total 48 -rw-r--r-- 1 jyy staff 11348 6 5 04:44 LICENSE -rw-r--r-- 1 jyy staff 5866 6 5 04:44 README.md drwxr-x--- 3 jyy staff …

深入浅出Nginx之二【基本配置】

从这篇博客开始,将对Nginx的配置文件nginx.conf的常用配置做详细的解释,并且以附件的形式给出实际的配置文件内容。 Shell代码 user nick excelsoft; 说明:以root账号运行时,设置worker进程所属的用户/组。 Shell代码 worker…

Istio流量控制资源对象

一、VirtualService资源   VirtualService(虚拟服务)在增强Istio流量管理的灵活性和有效性方面发挥着至关重要的作用。Virtualservice由一组路由规则组成,用于对服务实体(在Kubernetes中对应为Pod)进行寻址。如果有流…

Istio的Ingress与Egress网关

一、认识Ingress   在Istio的流量控制中,Ingress可以理解为前端应用的一个代理网格,当被转发到代理容器的流量到达服务前,会先经过该服务的Ingress Gateway,之后;再有Ingress Gateway转发至后端的VirtualService资源…

深入浅出Nginx之三【虚拟目录与虚拟主机】

下面简单介绍Nginx的虚拟目录和虚拟主机的配置&#xff0c;通过虚拟目录的设置可以直接访问Linux系统下面的静态资源文件&#xff0c;通过虚拟主机的设置可以在一台机器上模拟出多个逻辑上互不相干的独立主机。<一>. 虚拟目录&#xff1a; 通过使用index选项可以指定相对…

Istio超时与重试

一、理解超时与重试   超时的原理是&#xff0c;如果程序请求长时间无法返回结果&#xff0c;则需要设置超时机制&#xff0c;超过设置的时间则返回错误的信息&#xff1b;这样做既可以节约等待时消耗的资源&#xff0c;也可以避免由于级联错误引起的一系列问题。设置超时的方…

深入浅出Nginx之四【日志切割与环境变量】

在真实的Nginx实践过程中&#xff0c;我们通常都会对Nginx的访问日志进行切割&#xff0c;即按照一定的周期生成一个独立的Nginx访问日志文件&#xff0c;以避免存在文件体积过于庞大的日志文件。一方面有助于实际的错误排查&#xff0c;更重要的是有利于Nginx对访问文件的写入…

Istio的熔断

一、理解熔断   熔断&#xff08;Circuit Breaker&#xff09;&#xff0c;原是指当电流超过规定值时断开电路&#xff0c;进行短路保护或严重过载时的一种保护机制。后来熔断也广泛应用于金融领域&#xff0c;指当股指波幅达到规定的熔断点时&#xff0c;交易所为控制风险采…