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

简介: 文章目录前言一、文件路径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 负载均衡

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
7月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
822 116
|
7月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
602 4
|
8月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
682 1
|
8月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
475 18
|
8月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
792 17
|
9月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
10月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
297 16
|
10月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
2171 10
|
9月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
438 0
|
11月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
779 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡