nginx 一、安装与conf浅析

news2024/11/18 1:50:50

文章目录

  • 一、安装nginx
    • docker方式安装
    • linux方式安装
      • Ubuntu 或 Debian 系统:
      • CentOS 或 RHEL 系统:
    • macOS 系统(使用 Homebrew):
    • Windows 系统:
  • 二、nginx.conf浅析

Nginx(发音为“engine-x”)是一款开源的高性能Web服务器和反向代理服务器。它由俄罗斯的工程师Igor Sysoev创建,并于2004年首次发布。

Nginx的设计目标是提供高性能、可靠性和扩展性。相比传统的Web服务器,如Apache,Nginx在处理静态文件和高并发请求方面表现更出色。它采用事件驱动的异步架构,有效地管理系统资源,使得在大量并发连接时仍能保持低内存消耗和高吞吐量。

Nginx还支持作为反向代理服务器的功能,可以将客户端请求转发到后端的多个服务器上,实现负载均衡和高可用性。此外,Nginx具有强大的扩展性,支持丰富的第三方模块,可以根据需要添加额外的功能,如缓存、SSL/TLS加密、HTTP/2协议支持等。

Nginx在互联网企业和网站中被广泛应用,包括大型门户网站、电子商务平台、内容分发网络(CDN)等。由于其出色的性能和可靠性,Nginx已成为构建高性能和可扩展的Web应用程序的首选服务器之一。

总之,Nginx以其高性能、低资源消耗和强大的扩展性而受到广泛欢迎,是现代Web服务器和反向代理服务器的重要选择。

一、安装nginx

docker方式安装

docker search nginx
docker pull nginx
# 创建一个nginx目录,用于挂载nginx容器中的配置文件
cd /home/test
mkdir nginx
cd nginx
mkdir conf
mkdir log
mkdir html
docker run -d -p 80:80 --name nginx --restart=always  nginx
docker ps
docker cp nginx:/etc/nginx/nginx.conf /home/test/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /home/test/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /home/test/nginx/

在这里插入图片描述

docker rm -f nginx
# 重新启动容器
docker run -d -p 80:80 --name=nginx --privileged=true -v /home/test/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/test/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/test/nginx/log:/var/log/nginx -v /home/test/nginx/html:/usr/share/nginx/html nginx
# 测试nginx启动是否成功
curl 127.0.0.1:80

在这里插入图片描述

linux方式安装

Ubuntu 或 Debian 系统:

使用 apt 包管理器进行安装:

sudo apt update
sudo apt install nginx

安装完成后,可以使用以下命令启动 Nginx:

sudo systemctl start nginx

CentOS 或 RHEL 系统:

使用 yum 包管理器进行安装:

sudo yum install epel-release
sudo yum install nginx

安装完成后,可以使用以下命令启动 Nginx:

sudo systemctl start nginx

macOS 系统(使用 Homebrew):

安装 Homebrew(如果尚未安装):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

使用 brew 包管理器安装 Nginx:

brew install nginx

安装完成后,可以使用以下命令启动 Nginx:

brew services start nginx

Windows 系统:

下载 Nginx 的 Windows 版本,并解压缩到目标文件夹。
在解压后的文件夹中,运行 nginx.exe 来启动 Nginx。

二、nginx.conf浅析

# 设置Nginx工作进程所运行的用户。
user nginx; 
# 根据CPU核心数量自动设置工作进程的数量。默认1
worker_processes auto;
# 指定错误日志文件的路径和日志级别。
error_log  /var/log/nginx/error.log notice;  
# 指定主Nginx进程的PID文件路径。
pid        /var/run/nginx.pid; 

# 每个进程创建的连接数,默认1024
events{
	worker_connections 1024;
}

http{
	# mime.types是一个文件,包含着请求头的各种文件类型html、txt、mp4、jpg等等,可以在文件中配置增加请求头类型
	# include 将一个配置文件引入到当前配置文件中
	include /etc/nginx/mime.types;
	# 如果mime.types中没有请求头类型,默认使用二进制流
	default_type 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"';  
                      
	# 开启通过sendfile系统调用来发送文件。
	sendfile on;
	# 保持长连接
	keepalive_timeout 65;

    # 指定访问日志文件的路径和使用的日志格式。
    access_log  /var/log/nginx/access.log  main;  
    # 包含"/etc/nginx/conf.d/"目录下的所有配置文件。               
    include /etc/nginx/conf.d/*.conf;  

}

可在http中增加server,配置代理内容,server内容格式示例如下:

	# 主机,可以多个主机(server)
	server{
		# 监听端口号,每个server的端口号不一样
		listen 80;
		# 域名、主机名
		server_name localhost;
		
		# 域名后的目录、路径uri
		location /{
			# 匹配的相对路径
			root html;
			index index.html index.htm;
		}

		# 报错页面转向到/50x.html地址
		error_page 500 502 503 504 /50x.html;
		location = /50x.html {
			root html;
		}
	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1359223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有能力,但是不赚钱,往往是因为没有这三个能力!2024最适合创业的细分行业,2024最适合创业的行业

很多人非常有能力,在学校是学霸,在公司是高管,但是出来自己创业就不行了。觉得是自己的能力不够,其实不是你的能力不够,而是你欠缺下面这三种能力。如果你能掌握这三种能力,就算之前是普通人尝试创业&#…

论文阅读_InP-Based_Generic_Foundry_Platform_for_Photonic_Integrated_Circuits

InP-Based_Generic_Foundry_Platform_for_Photonic_Integrated_Circuits 时间:2018年 作者:Luc M. Augustin, Member, IEEE, Rui Santos, Erik den Haan, Steven Kleijn, Peter J. A. Thijs, Sylwester Latkowski, Senior Member, IEEE, Dan Zhao, Wei…

1月5日代码随想录完全二叉树的节点个数

222.完全二叉树的节点个数 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在…

认识CUDA

1 基本概念 1.1 什么是CUDA? CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 CUDA(Compute Unified Device Arc…

paddlehub 文本检测使用

PaddleHub负责模型的管理、获取和预训练模型的使用。 参考:https://github.com/PaddlePaddle/PaddleHub/tree/develop/modules/image/text_recognition/chinese_text_detection_db_server import paddlehub as hub import cv2 # from utils import cv_show import…

如何使用Plex在Windows系统搭建个人媒体站点公网可访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…

开发知识点-Java网络编程-Netty

Netty P1 Netty-导学分布式网络返回 异步结果dubbo rabbitmqtest 测试案例多线程 日志 第1章_01_nio三大组件-channel-buffer网络编程 框架jdk 1.4 之后才有 nio这个 APIChannel 数据传输通道 (双向)Buffer 内存缓冲区 (暂存Channel 的 数据&…

rtsp解析视频流

这里先说一下 播放rtsp 视频流,尽量让后端转换一下其他格式的流进行播放。因为rtsp的流需要flash支持,现在很多浏览器不支持flash。 先说一下这里我没有用video-player插件,因为它需要用flash ,在一个是我下载flash后,还是无法播放…

在Fiber中处理请求和响应

掌握GoLang Fiber中请求和响应管理的艺术,以实现高效的Web开发 在Web开发领域,有效地处理请求和响应是构建既用户友好又高效的Web应用的基石。该过程涉及管理传入的HTTP请求、解析数据和参数、构建适当的响应、处理不同的响应类型以及优雅地处理错误。对…

金山云升级全栈云计算体系,做人工智能时代云上“助力者”

随着云原生、AIGC、大模型等新兴技术的迅速发展,智能化时代开启。云计算也正全面步入3.0时代,即云计算和人工智能深度融合的阶段。在这个阶段,人工智能技术成为云计算进一步释放潜力的核心推动力。 2024年1月4日,金山云举办了「云…

Unraid APP下载慢解决方法

1.首先你的APP商城能够打开 这里我已下载Jellyfin为例 使用APP查找镜像,是为了获取下面的配置模板 2.修改地址 默认的地址是 lscr.io/linuxserver/jellyfin服务器在国外,被墙了.下载具慢 我们需要把这个下载源修改成国内的 有很多国内的源,但是我觉得阿里的比较快 3.获…

MySQL——视图

目录 一.视图介绍 二.基本使用 三.视图规则和限制 一.视图介绍 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。 二.基本使用 创…

在Jupyter笔记本中使用Python语言链在Mac上运行GPT4All

在过去的三周左右时间里,我一直在关注本地运行的大型语言模型(LLM)的疯狂开发速度,从llama.cpp开始,然后是alpaca,最近是(?!)gpt4all。 在那段时间里&#x…

JRTClient打开谷歌

网站默认已经启动https访问,这时候JRTClient发布wss需要浏览器信任证书才能访问打印。为此在JRTClient内部发布了HTTPS服务,有时候浏览器信任的证书会丢失或者被清理掉,这时候需要手工信任下,当然用JRTBrowser就不用信任证书&…

Unity中Shader序列帧动画(U、V方向的走格)

文章目录 前言一、U方向的走格1、 要实现移动的效果,我们就会想到使用_Time2、使用floor向下取整3、把x、y缩小为原函数的 Column倍4、使用_Sequence的z控制帧动画U方向上的速度 二、U方向的走格三、最终效果1、亚丝娜2、小蓝帽3、火4、最终代码 前言 在上一篇文章…

网易数帆codewave低代码平台:页面和数据逻辑搭建

注:我本打算将页面和数据逻辑搭建分成多个文章来发布,这样流量可能会多一些。但考虑到学习的连贯性和读者使用的便利性,最终决定将这部分内容融合在一篇文章中。 1 创建页面 1.1 系统默认页面 创建应用时系统会默认创建 6 个页面,分别是: login 登录页面:开启权限控制…

【LeetCode刷题笔记】344.反转字符串

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

frp配置内网穿透访问家里的nas

frp配置内网穿透访问家里的nas 需求 家里局域网内有台nas&#xff0c;在去公司的路上想访问它 其内网地址为&#xff1a; http://192.168.50.8:6002 工具 1.frp版本v0.53.2 下载地址&#xff1a; https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_li…

【Python机器学习】k近邻——模型复杂度与泛化能力的关系

以某数据进行研究&#xff0c;先将数据集分为训练集和测试集&#xff0c;然后用不同的邻居数对训练集合测试集的新能进行评估&#xff1a; from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.neighbors imp…

性能优化-OpenMP基础教程(四)-Android上运行OpenMP

本文主要介绍如何在一个常规的Android手机上调试OpenMP程序&#xff0c;包括Android NDK的环境配置和使用JNI编写一个OpenMP程序运行在Android手机中。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#…