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 区块,用来配置某个网站或服务的监听方式、路径、静态目录等。
bash 复制代码
sudo vim /etc/nginx/sites-available/my-site

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

bash 复制代码
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
  1. 保存退出后,再用符号链接让它生效:

添加软链接

bash 复制代码
sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/

移除软链接

bash 复制代码
sudo rm /etc/nginx/sites-enabled/my-site
  1. 检查配置文件是否正确,然后重启 nginx 服务
bash 复制代码
sudo nginx -t
sudo systemctl reload nginx
  1. 把静态文件资源,例如 index.html,放到 root /var/www/html 这里配置的目录

  2. 然后浏览器输入 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配置

相关推荐
Yupureki13 分钟前
《Linux网络编程》8.网络层IP原理
linux·运维·服务器·网络·ip
yyuuuzz24 分钟前
aws亚马逊入门常见认知误区
运维·服务器·网络·云计算·github·aws
Junsir大斗师1 小时前
Nginx服务器代理Postgresql-16后端数据库
数据库·nginx
DeepFlow 零侵扰全栈可观测1 小时前
运动战:AI 时代 IT 运维的决胜之道——DeepFlow 业务全链路可观测性的落地实践
运维·网络·人工智能·arcgis·云计算
林叔聊渠道分销2 小时前
saas产品运营案例 | 联盟营销计划如何帮助企业提高销售额?
运维·产品运营·sass·流量运营·用户运营
志栋智能3 小时前
告别报告堆砌:超自动化巡检的智能分析与洞察
运维·服务器·网络·人工智能·自动化
雅斯驰5 小时前
AES-128加密+滚动码认证:ATA5702W如何防御中继攻击与信号重放
运维·单片机·嵌入式硬件·物联网·自动化
网络与设备以及操作系统学习使用者5 小时前
直连路由优先级最高
运维·网络·学习·华为·智能路由器
goyeer5 小时前
【ITIL4】34服务实践 - 发布管理
运维·企业数字化·信息化·it管理·itil·it治理
小王C语言5 小时前
xshell免密登录
linux·运维·服务器