linux/centOS 下安装 ngnix

大城市里の小女人 提交于 2019-11-28 16:40:11

Nginx 需要的安装环境

如果不知道 linux/centOS 上是否安装了下面的软件,那么先尝试安装 Nginx ,如果安装的过程中出现问题,那么根据错误提示,安装相应的必要环境,例如:

./configure: error: the HTTP rewrite module requires the PCRE library.
./configure: error: the HTTP gzip module requires the zlib library.
  • 安装 gcc
    安装 Nginx 的编译环境 gcc
yum install gcc-c++
  • 安装 pcre pcre-devel
    nginxhttp 模块使用 pcre 解析正则表达式,所以安装 perl 兼容的正则表达式库
yum install -y pcre pcre-devel
  • 安装 zlib
    nginx 使用 zlibhttp 包的内容进行 gzip
yum install -y zlib zlib-devel
  • 安装 Open SSL
    nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https ,需要安装 OpenSSL
yum install -y openssl openssl-devel

Nginx 的安装

  解压

tar -zxvf nginx-1.12.2.tar.gz

  配置

  • 使用默认配置:
cd nginx-1.12.2
./configure

    注意:使用默认配置时,nginx 被安装到 /usr/local/nginx 下。

  编译、安装

make && make install

  配置环境变量

vim /etc/profile

    在合适位置添加环境变量

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

    重新编译 /etc/profile 文件

source /etc/profile

注意:重新编译文件时,如果会出现下面的问题

[root@pc-server1 nginx]# source /etc/profile
bash: id: command not found
bash: tty: command not found

此时说明在添加环境变量时,有单词写错了,或者是少写了 $PATH,此时需要重新修改 /etc/profile 文件,修改文件的命令改为

/bin/vi /etc/profile

然后断开 linux 连接,再重新连接即可。

Nginx 的运行

因为将 Nginx 配置到了环境变量中,因此,在任何路径下都可以直接使用 nginx 命令,而不需要进入 nginx 路径下执行。

  • 启动
./nginx
  • 查看 nginx 进程
ps -ef | grep nginx

这里写图片描述

  • 关闭
nginx -s stop
  • 重启
nginx -s reload
  • 测试 nginx 配置脚本是否运行正常

    通常可以通过这个命令查看 nginx 配置文件的位置

nginx -t 

这里写图片描述

  • nginx 开机自启

    在 rc.local 文件中加入 /usr/local/nginx/sbin/nginx

vim /etc/rc.local 

这里写图片描述

  • nginx 指定配置文件启动
nginx -c /usr/local/nginx/conf/nginx.conf

Nginx特点,为什么要用

  1. 跨平台:可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。
  2. 配置简单,非常容易上手。配置风格跟程序开发一样。
  3. 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试可以支持5万并发连接。
  4. 事件驱动:通信机制采用epoll模型,支持更大的并发连接。
  5. 接收用户请求是异步的,即先将用户请求全部接收下来,再一次性发送给后端web服务器,极大的减轻后端web服务器的压力。
  6. 发送响应报文时,是边接收来自后端web服务器的数据,边发送给客户端。
  7. 网络依赖性低。Nginx对网络的依赖程度非常低,理论上讲,只要能够ping通就可以实施负载均衡,而且可以有效区分内网和外网流量。
  8. 支持服务器检测。Nginx能够根据应用服务器处理页面返回的状态码、超时信息等检测服务器是否出现故障,并及时返回错误的请求重新提交到其它节点上。

Nginx架构

在这里插入图片描述
master/worker结构:
内存消耗小:处理大并发的请求内存消耗非常小。在3万并发连接下,开启10个Nginx进程才消耗150M内存(15M*10=150M)。使用webbench做压力测试,在3万并发量下速度依然很快。
成本低廉:Nginx为开源软件,可以免费使用的。
内置的健康检查功能:如果Nginx Proxy后端的某台web服务器宕机了,不会影响前端访问
节省宽带:支持GZIP压缩,可以添加浏览器本地缓存的Header头。
稳定性高:用于反向代理,宕机的概率微乎其微。

多进程模型好处:
采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,master进程则很快重新启动新的worker进程。

注:部分内容来源不记得了,侵删!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!