目录
- Nginx概述
- Nginx特性
- nginx安装
- 设置nginx开机自启动
Nginx概述
Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,是一个高性能的HTTP和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。
Nginx特性
Nginx 做为 HTTP 服务器,有以下几项基本特性:
Nginx 做为 HTTP 服务器,有以下几项基本特性:
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲. 无缓存的反向代理加速,简单的负载均衡和容错.
FastCGI,简单的负载均衡和容错. 模块化的结构。包括 gzipping, byte ranges, chunkedresponses,以及 SSI-filter 等 filter。如果由 FastCGI 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。 支持 SSL 和 TLSSNI. Nginx
专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核 Poll 模型,能经受高负载的考验,有报告表明能支持高达
50,000 个并发连接数。
Nginx 具有很高的稳定性。其它 HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。
nginx安装
官方网站下载地址:
https://nginx.org/en/download.html
下载对应的版本的nginx压缩包,解压到自己电脑上存放软件的文件夹中即可
解压安装包,删除版本号显示
tar zxf nginx-1.20.1.tar.gz
cd nginx-1.20.1/src/core/
vim nginx.h
#define NGINX_VER "nginx/" #删除nginx版本显示
#debug——取消gcc编辑调试
cd /root/nginx-1.20.1/auto/cc/
vim gcc #取消gcc的编译调试
# debug
#CFLAGS="$CFLAGS -g"
下载依赖性安装包,编译安装,开启服务
yum install gcc pcre-devel openssl-devel -y #nginx安装中的依赖性安装包
安装环境:因为nginx是静态服务器安装和以往安装环境不同分三步走:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio #configure编译安装nginx源程序生成makefile文件在make编译过程中读取MAKEFILE文件
make 编译
make install 安装完成!
cd /usr/local
ls 查看
cd sbin
ls 查看
./nginx ##开启服务
netstat -antlp ##查看端口
因为每次开启或者关闭nginx服务都需要进入指定目录比较繁琐,所以这里我们可以建立一个软连接开启全局nginx
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[[email protected] conf]# which nginx ##全局识别nginx服务
/usr/local/sbin/nginx
[[email protected] conf]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
编辑nginx配置文件使其与程序相匹配
cd /usr/local/nginx/conf/
vim nginx.conf #主配置文件
events {
worker_connections 65535; #worker能接受的最大文件连接数
}
nginx -s reload #重载
lscpu #查看cpu内核个数
vim nginx.conf
#user nobody;
worker_processes auto;#自动设置
sysctl -a |grep file #查看程序能接受最大文件连接数
vim /etc/security/limits.conf
nginx - nofile 65536 #修改操作系统能支持的最大文件数
这里我的虚拟机server1的CPU个数为2,可以设置为2或者auto自动识别系统工作线程数
worker_processes 2; #当服务器中cpu个数为2个时设置为 01 10 表示他两种方式
worker_cpu_affinity 01 10;
cpu个数为4时设置为0001 0010 0100 1000
新建一个nginx用户,重新编辑配置文件可以将用户nobody改为nginx
useradd -d /usr/local/nginx -M -s /sbin/nologin nginx
nginx -t #检测语法
nginx -s reload
设置nginx开机自启动
cd /usr/lib/systemed/system/
vim nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload