当前位置: 首页 > java >正文

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.xdnf.cn/news/4745.html

相关文章:

  • networkmanager 和 resolv.conf 可能有覆盖需要配置DNS
  • OpenHarmony平台驱动开发(八),MIPI CSI
  • 旧版 Flutter 写的项目, 想要在新的环境上运行?
  • Kotlin 遍历
  • Spring普通配置类 vs 自动配置类-笔记
  • USRP B210 TX_IQ处理
  • Ceph PG unfound/lost 问题排查与解决
  • 记录Token反序列化OAuth2Authentication(主要是直接存储用户信息的UserDetails )
  • [matlab]private和+等特殊目录在新版本matlab中不允许添加搜索路径解决方法
  • 医院信息集成平台是什么?怎么促进医院信息化建设?
  • sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
  • 皇冠CAD(CrownCAD)建模教程:小型风力发电机
  • [逆向工程]什么是HOOK(钩子)技术(二十一)
  • MySQL回表详解!
  • 视频添加字幕脚本分享
  • AI学习路径
  • GrassRoot备份项目
  • 剖析 FFmpeg:从基本功能到过滤器,实现音视频处理的灵活性
  • python编译exe执行时报错:OSError:[WinError6]句柄无效
  • http协议理解
  • LLM 论文精读(三)Demystifying Long Chain-of-Thought Reasoning in LLMs
  • Qt 编译 sqldrivers之psql
  • Linux中的防火墙
  • 【RAG】indexing 中的 Hierarchical Indexing(分层索引)
  • Matlab 四分之一车体被动和模糊控制对比
  • 文件包含 任意文件读取
  • B站搜索关键词全攻略:掌握B站搜索关键词的运作机制
  • 深度学习-160-Dify工具之从模板创建应用示例
  • 评论系统表结构设计--简单模型
  • 每日学习Java之一万个为什么(待完善)