Nginx 高性能,轻量的web服务软件。
高性能:对http并发连接的处理能力很高,单台物理服务器可支持30000-50000个并发请求。(在实际操作中,为了维持服务器的稳定,一般设置在2000个左右)
轻量级:nginx软件很小,安装所需要的空间很小。
稳定性强对系统资源消耗低。
Nginx的主要功能:
- 处理静态网页:http htm 图像。
- 支持反向代理(负载均衡的算法)。负载均衡靠算 法实现。
- 处理动态内容。
- 虚拟主机:nginx可以配置多个虚拟主机,每个虚拟主机都可以作为一个域名和站点,每个虚拟主机都可以拥有独立的配置和资源。
- URL重定向:可以对URL的请求进行修改和重定向。
- 缓存机制,可以缓存静态文件和动态内容。
- 日志记录:服务日志,访问日志和报错日志。控制日志还是在/var/log/messages中。
- 代理服务器,通过代理可以访问其他的后端服务器。
安装:
yum -y install pcre-devel openssl-devel 安装依赖环境
conf:保存nginx的所有配置文件,其中nginx.conf是nginx的著配置文件。
html : 保存保存nginx的web文件,html结尾的文
件,图片。
50x :是nginx默认的报错提示页面。
logs: 保存日志的目录,路劲可以改。
nginx -t :检测nginx配置文件,配置语法是否正确。
nginx -v:只查看版本。
nginx -V :查看版本和nginx支持的配置模块。
nginx -s stop restart reloed
给nginx主程序发送信号,不能开启nginx服务。
Yum安装需要epel源
Yum -y install nginx
重要的组件都需要编译安装为主。
Nginx配置文件的内容:
vim nginx.conf
Vim /etc/security/limits.conf
reboot 重启
http块:配置代理 缓存 日志 虚拟主机和第三方模块。
Server:配置虚拟主机的设备。在http的模块中可以有多个server。
location 功能模块:location模块只能配置在server模块当中,匹配uri。
一个server模块当中可以有多个location。
root 指定访问页面的根目录
alias 指定
nginx的功能模块:
proxy:代理功能,核心功能模块之一,配置反向的功能。
proxy_pass指定。
定义在location当中。
headers功能模块:
处理请求头部的相应信息。获取客户端的真是ip
upstream模块:
七层反向代理模块,只能配置在http模块当中,或者stream模块中。
stream:模块:
四层反向代理模块,只能写在配置当中。
安装nginx 步骤
- 关闭防火墙 systemctl stop firewalld
- 关闭安全机制 setenforce 0
3, yum -y install pcre-devel openssl-devel 安装依赖环境。
useradd -M -s /sbin/nologin nginx 指定 nginx 为程序用户不能登录
cd /opt 把压缩包拖进来
3, 解压 tar -xf nginx-1.22.o.tar.gz
4, 人性化查看 ll -h
5, 切换到解压过后的包中, cd nginx-1.22.0/
Ls
6,./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
7,make -j 4 && make install 指定核数 4个核
Cd /usr/local/nginx/
8,[root@localhost nginx]#
chown -R nginx.nginx /usr/local/nginx/ 修改修改目录权限都给nginx
- [root@localhost nginx
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ 创建软连接让系统能够识别二进命令
10,吧nginx添加到系统服务进行控制
Vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target:
[Service]
Type=forking #后台运行
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
#相当于重启
ExecStop=/bin/kill -s TERM $MAINPID
#相当于stop
[Install]
WantedBy=multi-user.target #支持多用户模式。
run 要属于 nginx
pid /usr/local/nginx/run/nginx.pid;
nginx -t 检测nginx配置文件以及配置文件语法是否真确。
systemctl daemon-reload 重新加载
Systemctl restart nginx 重启nginx
Nginx 配置完成