ubuntu上安装、卸载、配置nginx

[复制链接]
发表于 2025-5-25 10:30:29 | 显示全部楼层 |阅读模式
一、安装 Nginx

1. 更新软件包列表

  1. sudo apt update
复制代码
2. 安装 Nginx

  1. sudo apt install nginx -y
复制代码
3. 验证安装

  1. nginx -v
  2. # 输出示例:nginx version: 1.18.0 (Ubuntu)
复制代码
4. 启动并设置开机自启

  1. sudo systemctl start nginx
  2. sudo systemctl enable nginx
复制代码
5. 查抄服务状态

  1. sudo systemctl status nginx
  2. # 正常应显示 "active (running)"
复制代码
6. 可以欣赏器中测试看看:ip地址:80


二、底子配置(把配置文件独立出来)

1. 配置文件结构

  1. /etc/nginx/
  2. ├── nginx.conf          # 主配置文件
  3. ├── sites-available/    # 可用站点配置
  4. ├── sites-enabled/      # 已启用站点(符号链接)
  5. ├── conf.d/             # 附加配置
  6. └── snippets/           # 可复用配置片段
复制代码
2. 修改配置文件,将配置文件的目录独立出来

  1. sudo vim /etc/nginx/nginx.conf
复制代码
2.1 i进入编辑模式,把第一行user修改为root。找到"Virtual Host Configs"下添加一行include /root/xx/nginx_cfg/*.conf;然后:wq保存退出
/xx/nginx_cfg:是自己在root目录创建的文件夹;自己可自界说


3. 在创建的“/xx/nginx_cfg”目录里新建一个后缀名为conf的配置文件举行配置。

  1.     server {
  2.         listen       80;  #监听端口号,如果没有域名不要用80
  3.         server_name  localhost; #域名(多个用空格分隔)
  4.                 charset utf-8;
  5.         #静态文件处理
  6.                 location / {
  7.             root   /root/html/shiyan-manager/dist; #网站根目录(前端代码打包在服务器位置)
  8.                         try_files $uri $uri/ /index.html;
  9.             index  index.html index.htm;
  10.             client_max_body_size 2048m;
  11.         }
  12.                
  13.         #反向代理配置(指向本地应用)
  14.                 location /dev-api/ {
  15.                         proxy_set_header Host $http_host;
  16.                         proxy_set_header X-Real-IP $remote_addr;
  17.                         proxy_set_header REMOTE-HOST $remote_addr;
  18.                         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  19.             client_max_body_size 2048m;
  20.                         proxy_pass http://localhost:8080/; #转发到本地的8080端口(后端的端口号)
  21.                 }
  22.         error_page   500 502 503 504  /50x.html;
  23.         location = /50x.html {
  24.             root   html;
  25.         }
  26.     }
复制代码
4.配置文件写完后,革新配置,欣赏器访问即可

  1. sudo nginx -t  # 测试配置语法
  2. sudo systemctl reload nginx
复制代码
三、启动HTTPS

1.登录云服务器数字证书管理服务控制台,生成并下载SSL证书,选择Nginx服务器范例下载


2.把下载的证书上传到Linux服务器,位置自界说,可放在nginx目录
2.1实行以下下令,在Nginx目录下创建一个用于存放证书的目录。
  1. cd /etc/nginx  #进入Nginx文件目录。或者自定义目录都行
  2. mkdir cert  #创建证书目录,命名为cert。
复制代码
2.2将证书文件和私钥文件上传到Nginx服务器的证书目录(/etc/nginx/cert)。
3.修改配置
  1. server {
  2.     listen 443 ssl;
  3.     server_name example.com; #域名
  4.     ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; #上传的证书
  5.     ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.key; #上传的证书
  6.     # 安全协议和加密套件
  7.     ssl_protocols TLSv1.2 TLSv1.3;
  8.     ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
  9.     ssl_prefer_server_ciphers on;
  10.     # HSTS(强制HTTPS)
  11.     add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
  12.     charset utf-8;
  13.         #静态文件处理
  14.                 location / {
  15.             root   /root/html/shiyan-manager/dist; #网站根目录(前端代码打包在服务器位置)
  16.                         try_files $uri $uri/ /index.html;
  17.             index  index.html index.htm;
  18.             client_max_body_size 2048m;
  19.         }
  20.                
  21.         #反向代理配置(指向本地应用)
  22.                 location /dev-api/ {
  23.                         proxy_set_header Host $http_host;
  24.                         proxy_set_header X-Real-IP $remote_addr;
  25.                         proxy_set_header REMOTE-HOST $remote_addr;
  26.                         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  27.             client_max_body_size 2048m;
  28.                         proxy_pass http://localhost:8080/; #转发到本地的8080端口(后端的端口号)
  29.                 }
  30.         error_page   500 502 503 504  /50x.html;
  31.         location = /50x.html {
  32.             root   html;
  33.         }
  34. }
  35. server {
  36.     listen 80;
  37.     #填写证书绑定的域名
  38.     server_name <yourdomain>;
  39.     #将所有HTTP请求通过rewrite指令重定向到HTTPS。
  40.     rewrite ^(.*)$ https://$host$1;
  41.     location / {
  42.         index index.html index.htm;
  43.     }
  44. }
复制代码
4.配置文件写完后,革新配置,欣赏器访问即可 

  1. sudo nginx -t  # 测试配置语法
  2. sudo systemctl reload nginx
复制代码
、卸载 Nginx

1. 停止服务

  1. sudo systemctl stop nginx
  2. sudo systemctl disable nginx
复制代码
2. 卸载软件包

  1. sudo apt purge nginx nginx-common
复制代码
3. 删除残留文件

  1. sudo rm -rf /etc/nginx /var/log/nginx /var/www/html/*
  2. sudo apt autoremove
复制代码
、故障排查

问题现象办理方法端口占用`sudo ss -tulnpgrep :80` → 结束冲突进程配置语法错误sudo nginx -t 查抄错误行403 Forbidden查抄目录权限:sudo chmod -R 755 /var/www502 Bad Gateway确认后端服务是否运行,proxy_pass 地址是否正确 六、关键下令总结 

功能下令测试配置sudo nginx -t重新加载配置sudo systemctl reload nginx查看访问日志日志sudo tail -f /var/log/nginx/access.log查抄运行中的配置sudo nginx -T   1. 所有的 Nginx 配置文件都在/etc/nginx/目录下
  2. 主要的 Nginx 配置文件是/etc/nginx/nginx.conf
  3. Nginx的启动文件:/sbin/nginx
  4. Nginx 日志日志文件(access.log 和 error.log)定位在/var/log/nginx/目录下 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-4 04:53 , Processed in 0.089838 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表