Ubuntu 安装 Nginx

Nginx 是一个高性能的 Web 服务器和反向代理服务器,同时也可以用作负载均衡器和 HTTP 缓存。

Nginx 的主要用途

用途说明
Web服务器提供网页服务,处理用户的 HTTP 请求,返回 HTML、CSS、JS、图片等静态资源。
反向代理服务器将用户请求转发到后端服务器(如 Tomcat、Flask、Spring Boot),隐藏真实后端。
负载均衡器把用户请求平均分发到多个后端服务器,提高处理能力和可用性。
缓存服务器缓存静态内容或后端响应,加快访问速度,减轻后端压力。

安装 Nginx

sudo apt-get update
sudo apt-get install -y nginx

Nginx 配置路径

内容路径
nginx 根目录/etc/nginx
配置文件/etc/nginx/nginx.conf
站点配置目录/etc/nginx/sites-available/
启用的站点目录/etc/nginx/sites-enabled/
默认网页目录/var/www/html
日志文件/var/log/nginx/access.log 和 error.log

/etc/nginx/nginx.conf:文件不用动,它的作用是加载其他子配置文件。

/etc/nginx/sites-available/:所有的子配置文件都存放在这个目录,相当于候选配置。

/etc/nginx/sites-enabled/:Nginx 启动时只会读取这个目录中的配置文件,如果想让候选配置生效,就把候选配置通过软链接,连接到这个目录。


配置文件

我们要添加一个配置,要怎么弄?

1. 在 /etc/nginx/sites-available/ 目录下创建一个文件,这个文件名称自定义,可以叫任何名字(比如:default、example.com、api.conf,都可以)。文件的内容是一个 server 区块,用来配置某个网站或服务的监听方式、路径、静态目录等。

sudo vim /etc/nginx/sites-available/my-site

/etc/nginx/sites-available/my-site 文件内容如下:

server {listen 80;server_name localhost;root /var/www/html;index index.html;location / {try_files $uri $uri/ =404;}
}
参数说明含义
listen 80;监听 80 端口(HTTP 默认端口,HTTPS端口443)
server_name localhost;设置主机名(用域名部署时改成你的域名)
root /var/www/html;网站根目录,里面应该放 index.html 等文件
index index.html index.htm;设置默认首页文件
location /匹配所有路径请求
try_files $uri $uri/ =404;如果文件存在就加载文件,不存在就返回 404

2. 保存退出后,再用符号链接让它生效:

添加软链接

sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/

# 移除软链接

sudo rm /etc/nginx/sites-enabled/my-site

3. 检查配置文件是否正确,然后重启 nginx 服务

sudo nginx -t
sudo systemctl reload nginx

4. 把静态文件资源,例如 index.html,放到 root /var/www/html 这里配置的目录

5. 然后浏览器输入 http://ip:port 访问


Nginx 常用命令

启动 Nginx:sudo systemctl start nginx

停止 Nginx:sudo systemctl stop nginx

重启 Nginx:sudo systemctl restart nginx

重载配置(不中断服务):sudo systemctl reload nginx

查看 Nginx 状态:sudo systemctl status nginx

开启开机自启动:sudo systemctl enable nginx

禁用开机启动:sudo systemctl disable nginx

查看 Nginx 版本:nginx -v

查看 Nginx 安装的模块:nginx -V

检查配置文件是否有语法错误:sudo nginx -t

启动 Nginx(等同于 systemctl start nginx):sudo nginx

停止 Nginx(快速关闭):sudo nginx -s stop

优雅关闭(处理完当前请求再退出):sudo nginx -s quit

重载配置(推荐使用):sudo nginx -s reload

更多配置请查看:nginx配置

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

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

相关文章

人工智能 机器学习期末考试题

自测试卷2 一、选择题 1.下面哪个属性不是NumPy中数组的属性( )。 A.ndim B.size C.shape D.add 2.一个简单的Series是由( )的数据组成的。 A.两…

使用阿里云CLI调用OpenAPI

介绍使用阿里云CLI调用OpenAPI的具体操作流程,包括安装、配置凭证、生成并调用命令等步骤。 方案概览 使用阿里云CLI调用OpenAPI,大致分为四个步骤: 安装阿里云CLI:根据您使用设备的操作系统,选择并安装相应的版本。…

K8S Svc Port-forward 访问方式

在 Kubernetes 中,kubectl port-forward 是一种 本地与集群内资源(Pod/Service)建立临时网络隧道 的访问方式,无需暴露服务到公网,适合开发调试、临时访问等场景。以下是详细使用方法及注意事项: 1. 基础用…

23、DeepSeek-V2论文笔记

DeepSeek-V2 1、背景2、KV缓存优化2.0 KV缓存(Cache)的核心原理2.1 KV缓存优化2.2 性能对比2.3 架构2.4多头注意力 (MHA)2.5 多头潜在注意力 (MLA)2.5.1 低秩键值联合压缩 (Low-Rank Key-Value …

MySQL OCP试题解析(2)

试题如下图所示: 一、题目背景还原 假设存在以下MySQL用户权限配置: -- 创建本地会计用户CREATE USER accountinglocalhost IDENTIFIED BY acc_123;-- 创建匿名代理用户(用户名为空,允许任意主机)CREATE USER % IDENTI…

深度学习Y7周:YOLOv8训练自己数据集

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 一、配置环境 1.官网下载源码 2.安装需要环境 二、准备好自己的数据 目录结构: 主目录 data images(存放图片) annotati…

英伟达Blackwell架构重构未来:AI算力革命背后的技术逻辑与产业变革

——从芯片暴力美学到分布式智能体网络,解析英伟达如何定义AI基础设施新范式 开篇:当算力成为“新石油”,英伟达的“炼油厂”如何升级? 2025年3月,英伟达GTC大会上,黄仁勋身披标志性皮衣,宣布了…

CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍

当我们提到ConurrentHashMap时,先想到的就是HashMap不是线程安全的: 在多个线程共同操作HashMap时,会出现一个数据不一致的问题。 ConcurrentHashMap是HashMap的线程安全版本。 它通过在相应的方法上加锁,来保证多线程情况下的…

Android开发-设计规范

在Android应用开发中,遵循良好的设计规范不仅能够提升用户体验,还能确保代码的可维护性和扩展性。本文将从用户界面(UI)、用户体验(UX)、性能优化以及代码结构等多个维度探讨Android开发中的设计规范&#…

泛型加持的策略模式:打造高扩展的通用策略工具类

一、传统策略模式的痛点与突破 1.1 传统策略实现回顾 // 传统支付策略接口 public interface PaymentStrategy {void pay(BigDecimal amount); }// 具体策略实现 public class AlipayStrategy implements PaymentStrategy {public void pay(BigDecimal amount) { /* 支付宝支…

物联网从HomeAssistant开始

文章目录 一、什么是home-assistant?1.核心架构2.集成架构 二、在树梅派5上安装home-assistant三、接入米家1.对比下趋势2.手动安装插件3.配置方式 四、接入公牛1.手动安装插件2.配置方式 五、接入海尔1.手动安装插件2.配置方式 六、接入国家电网 一、什么是home-assistant? …

系统架构-嵌入式系统架构

原理与特征 嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构 层次化模式架构,位于高层的抽象概念与低层的更加具体的概念之间存在着依赖关系,封闭型层次架构指的是,高层的对象只能调用同一层或下一层对象…

计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 09.天空和背景

天空和背景 对于 3D 场景,通常可以通过在远处的地平线附近创造一些逼真的效果,来增强其真实感。我们可以采用天空盒、天空柱(Skydome)或天空穹(Skydome)等技术来模拟天空。 天空盒 天空盒(Sk…

【Leetcode 每日一题】1550. 存在连续三个奇数的数组

问题背景 给你一个整数数组 a r r arr arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 t r u e true true;否则,返回 f a l s e false false。 数据约束 1 ≤ a r r . l e n g t h ≤ 10…

面试题解析 | C++空类的默认成员函数(附生成条件与底层原理)

在C面试中,“空类默认生成哪些成员函数”是考察对象模型和编译器行为的高频题目。许多资料仅提及前4个函数,但完整的答案应包含6个核心函数,并结合C标准深入解析其生成规则与使用场景。 一、空类默认生成的6大成员函数 1. ​缺省构造函数​ …

视频编解码学习7之视频编码简介

视频编码技术发展历程与主流编码标准详解 视频编码技术是现代数字媒体领域的核心技术之一,它通过高效的压缩算法大幅减少了视频数据的体积,使得视频的存储、传输和播放变得更加高效和经济。从早期的H.261标准到最新的AV1和H.266/VVC,视频编码…

使用Stable Diffusion(SD)中,步数(Steps)指的是什么?该如何使用?

Ⅰ定义: 在Stable Diffusion(SD)中,步数(Steps) 指的是采样过程中的迭代次数,也就是模型从纯噪声一步步“清晰化”图像的次数。你可以理解为模型在画这张图时“润色”的轮数。 Ⅱ步数的具体作…

消息队列如何保证消息可靠性(kafka以及RabbitMQ)

目录 RabbitMQ保证消息可靠性 生产者丢失消息 MQ丢失消息 消费端丢失了数据 Kakfa的消息可靠性 生产者的消息可靠性 Kakfa的消息可靠性 消费者的消息可靠性 RabbitMQ保证消息可靠性 生产者丢失消息 1.事务消息保证 生产者在发送消息之前,开启事务消息随后生…

如何查看项目是否支持最新 Android 16K Page Size 一文汇总

前几天刚聊过 《Google 开始正式强制 Android 适配 16 K Page Size》 之后,被问到最多的问题是「怎么查看项目是否支持 16K Page Size」 ?其实有很多直接的方式,但是最难的是当你的项目有很多依赖时,怎么知道这个「不支持的动态库…

HttpServletResponse的理解

HttpServletResponse 是 Java Servlet API 提供的一个接口 常用方法 方法用途setContentType(String type)设置响应内容类型(如 "application/json"、"text/html")setStatus(int sc)设置响应状态码(如 200、404&#x…