下载以gz为后缀的压缩包,将安装包放入Linux下自己创建的文件夹
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:yum install gcc-c++
查看版本
gcc -v
安装pcre-devel依赖库
pcre是一个perl库,ngix的http模块使用pcre来解析正则表达式,所以要在linux上安装pcre.。pcre-devel是使用的pcre开发的一个二次开发库,nginx也需要此库,命令:yum -y install pcre-devel
安装openssl依赖库
openssl是一个强大的安全套接字层密码库,囊括主要的密码算法,常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要安装openssl库,命令: yum -y install openssl openssl-devel
解压缩
tar -zxvf nginx-1.20.1.tar.gz
进入目录
cd nginx-1.20.1
执行自动配置
./configure
执行make命令
执行make install
查看安装的路径(是否成功)
nginx的默认安装目录: /usr/local/nginx
whereis nginx
查看nginx的配置文件
cd /usr/local/nginx
ll
cd conf
ll
cat nginx.conf
执行nginx的启动文件
进入安装目录
cd /usr/local/nginx/sbin
启动Nginx服务
./nginx
查看nginx进程
ps -ef | grep nginx
输入IP地址进行访问
页面成功显示说明安装成功,拒绝连接说明防火墙端口未打开
Nginx常用命令
进入nginx的目录
cd /usr/local/nginx/sbin
查看Nginx的版本
./nginx -v
启动Nginx
./nginx
停止Nginx
./nginx -s stop
安全退出Nginx,同时会关闭Nginx服务
./nginx -s quit
重新加载配置文件(不重新启动Nginx,也会生效)
./nginx -s reload
查看Nginx的进程
ps -ef | grep nginx
打开nginx的安装文件夹下的nginx.conf文件,此文件就是Nginx的配置文件,通过 vim nginx.conf
命令,打开配置文件
第一部分:全局块
查看cpu个数
cat /proc/cpuinfo | grep "cores"|uniq
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令,主要包含配置运行Nginx服务器的用户(组),允许生成的worker、process数,进程PID存放路径,日志存放路径和类型以及配置文件的引入等。
worker_processes这是Nginx服务器并发处理服务的关键配置,worker_processes值越大,可以支持的并发处理量也越多,但是会受到硬件,软件等设备的制约
worker_processes 线程数;
第二部分:events块
events块涉及的指令主要影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多worker_processes 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动来处理连接请求,每个worker_processes 可以同时支持的最大连接数等
上述例子就表示每个worker_processes 支持的最大连接数为1024
这部分的配置对Nginx的性能影响较大,在实际中应该灵活配置
worker_connections,单个工作进程可以允许同时建立外部连接的数量
数字越大,能同时处理的连接越多
1.默认:worker_connections: 1024
2.调大:worker_connections: 100000,(调大到10万连接)
第三部分:http块
这算是Nginx服务器配置中最频繁的部分,代理,缓存和日志定义等绝大多数功能和第三方模块的配置都在这里,需要注意的是:http块也可以包括http全局块,server块。
http全局块:
http全局块配置的指令包括文件的引入,MIME-TYPE定义,日志自定义,连接超时时间,单链接请求数上限等。
server块:
这块和虚拟主机有密切关系,虚拟主机从用户角度看和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
每个http块可以包括多个server块,而每个server块就相当于一个虚拟主机
而每个server块也可分为全局server块,以及可以同时包含多个location块。
全局server块
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置
location块
一个server块可以配置多个location块
这块的主要作用是基于Nginx服务器接收到的请求字符串,对虚拟主机名称之外的字符串进行匹配,对特定的请求进行处理。地址定向,数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。