【web】Nginx服务安装、配置解释

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 文章目录前言一、文件路径1.1 源码包安装

一、文件路径

1.1 源码包安装

  • 自动化部署脚本(需要提前下载源码包到指定目录/opt)
install_nginx(){
systemctl disable --now firewalld           #关闭防火墙
setenforce 0
yum -y install pcre-devel zlib-devel gcc gcc-c++ make #安装环境依赖包
useradd -M -s /sbin/nologin nginx           #创建nginx系统用户
tar xf /opt/nginx-1.12.0.tar.gz -C /opt/        #解压源码包
cd /opt/nginx-1.12.0/
                            #配置nginx模块
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-stream \
--with-http_stub_status_module
make -j 4 && make install               #源码编译安装
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/    #创建命令软链接,方便管理
cat > /lib/systemd/system/nginx.service <<EOF     #将nginx加入系统管理服务
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
chmod 754 /lib/systemd/system/nginx.service       #为nginx添加执行权
systemctl enable --now nginx.service          #配置nginx为开机自启
}

1.2 yum安装

cd /etc/yum.repos.d/          #添加nginx的yum源
vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
yum clean all && yum makecache      #重新加载yum缓存
yum install -y nginx          #yum安装nginx
systemctl start nginx         #启动nginx


二、全局配置

#user  nobody;              #运行用户:若源码配置的时候没有指定用户,则默认nginx运行用户为nobody;
worker_processes  1;            #工作进程:最大的工作进程数,一般设置与cpu核数相同;
#error_log  logs/error.log;       #日志收集:任何等级的错误日志都被收集;
#error_log  logs/error.log  notice;   #日志收集:仅收集notice(注意)级别的错误日志;
#error_log  logs/error.log  info;   #日志收集:仅收集info(信息)级别的日志;
#pid        logs/nginx.pid;       #生成文件:取消注释会生成存放nginx pid号的文件/usr/local/nginx/logs/nginx.pid;
events {
    worker_connections  1024;     #连接数:每个工作进程能进行的最大连接数;还受到系统内核的限制ulimit -n查看;
                      #临时修改系统内核:ulimit -n 数字 临时修改最大允许数;
                      #永久修改系统内核:vim /etc/security/limits.conf;
                      #nginx hard nofile 10240;nginx hard nofile 10240
}

三、网页配置

http {
  include mime.types;                             #文件扩展名与文件类型映射表
  default_tyoe application/octet-stream;                    #默认文件类型
  #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  #日志格式设置
  #                  '$status $body_bytes_sent "$http_referer" '
  #                  '"$http_user_agent" "$http_x_forwarded_for"';
  #access_log  logs/access.log  main;                     #日志存储位置
  keepalive_timeout  65;                            #长链接时间设置,数字0表示不设置长链接
  #gzip  on;                                  #gip模块,设置是否开启gizp压缩传输
  server{                                   #子模块:设置web服务的监听配置
    listen       80;                            #设置监听地址和端口:例:192.168.13.10:80
    server_name  localhost;                         #基于域名的主机:例:www.han.com
    #charset utf-8;                             #默认字符集:utf-8为万国字符集
    location {                                #server子配置:设置客户端访问匹配规则
      root   html;                            #根目录:网站首页默认根目录
      index  index.html index.htm;                    #默认首页:网站首页默认加载文件
    }
  }
  error_page   500 502 503 504  /50x.html;                  #网站首页错误页配置,显示内容及路径
}

四、拓展

4.1 location/rewrite/正则匹配/配置优化

location匹配、rewrite重写

4.2 负载均衡

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
28天前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
68 7
|
1天前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
19 4
|
25天前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
29天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
16天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
39 3
|
25天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
46 4
|
25天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
48 3
|
25天前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
87 3
|
27天前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
167 1
|
1月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
42 3