【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 负载均衡

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
中间件 API Go
使用Echo和Gin构建高性能Web服务的技术文档
本文档对比了Go语言中的两个流行Web框架——Echo和Gin。Echo是一个高性能、可扩展的框架,适合构建微服务和API,强调简洁API和并发性能。Gin基于net/http包,具有Martini风格API,以其快速路由和丰富社区支持闻名。在性能方面,Gin的路由性能出色,两者并发性能均强,内存占用低。文中还提供了使用Echo和Gin构建Web服务的代码示例,帮助开发者了解如何运用这两个框架。选择框架应考虑项目需求和个人喜好。
13 2
|
2天前
|
SQL 缓存 测试技术
RESTful API设计的最佳实践:构建高效、可维护的Web服务接口
【6月更文挑战第11天】构建高效、可维护的RESTful API涉及多个最佳实践:遵循客户端-服务器架构、无状态性等REST原则;设计时考虑URL结构(动词+宾语,使用标准HTTP方法)、使用HTTP状态码、统一响应格式及错误处理;确保数据安全(HTTPS、认证授权、输入验证);实施版本控制;并提供详细文档和测试用例。这些实践能提升Web服务接口的性能和质量。
|
2天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎产品使用合集之Web函数启动的Spring Boot项目可以通过什么方式配置Nginx
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6天前
|
tengine 安全 应用服务中间件
修改Nginx/Tengine版本名称伪装任意WEB SERVER
修改Nginx/Tengine版本名称伪装任意WEB SERVER
|
6天前
|
JavaScript 前端开发 定位技术
Rest风格WEB服务(Rest Style Web Service)的真相
Rest风格WEB服务(Rest Style Web Service)的真相
21 1
|
7天前
|
关系型数据库 应用服务中间件 nginx
docker基础,docker安装mysql,docker安装Nginx,docker安装mq,docker基础命令
docker基础,docker安装mysql,docker安装Nginx,docker安装mq,docker基础命令
|
8天前
|
应用服务中间件 Shell nginx
mac m1笔记本docker 安装nginx
mac m1笔记本docker 安装nginx
|
8天前
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
|
8天前
|
应用服务中间件 Linux nginx
|
9天前
|
网络协议 安全 应用服务中间件
阿里云申请免费ssl证书并配置nginx
阿里云申请免费ssl证书并配置nginx