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配置

相关推荐
半梦半醒*1 分钟前
Linux网络管理
linux·运维·网络·centos·运维开发
破刺不会编程10 分钟前
linux线程概念和控制
linux·运维·服务器·开发语言·c++
Nightwish51 小时前
Linux随记(二十一)
linux·运维·服务器
IT成长日记3 小时前
【自动化运维神器Ansible】Ansible常用模块之File模块详解
运维·自动化·ansible·file·常用模块
獭.獭.3 小时前
Linux -- 文件【上】
linux·运维·服务器·进程·pcb
不会敲代码的XW4 小时前
高可用集群KEEPALIVED的详细部署
运维·云原生
老实巴交的麻匪4 小时前
提问的智慧,用最少的时间获得最有效的帮助
运维·团队管理
nbsaas-boot4 小时前
收银系统优惠功能架构:可扩展设计指南(含可扩展性思路与落地细节)
java·大数据·运维
未来之窗软件服务5 小时前
基于 Nginx 与未来之窗防火墙构建下一代自建动态网络防护体系—仙盟创梦IDE
网络·ide·nginx·服务器安全·仙盟创梦ide·东方仙盟
爱喝酸奶的桃酥5 小时前
解密负载均衡:如何轻松提升业务性能
运维·负载均衡