【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日志并进行多维度分析。
相关文章
|
6天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
21 4
|
9天前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
46 4
|
5天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
108 0
|
4天前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。
|
8天前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
30 7
|
6天前
|
缓存 前端开发 JavaScript
一、nginx配置
一、nginx配置
51 1
|
8天前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
22 0
Mac os 安装 nginx 教程(success)
|
5天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
38 0
|
6天前
|
XML 关系型数据库 MySQL
Web Services 服务 是不是过时了?创建 Web Services 服务实例
本文讨论了WebServices(基于SOAP协议)与WebAPI(基于RESTful)在开发中的应用,回顾了WebServices的历史特点,比较了两者在技术栈、轻量化和适用场景的差异,并分享了使用VB.net开发WebServices的具体配置步骤和疑问。
11 0
|
6天前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
15 0