Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >多种方案在Linux中安装nginx环境

多种方案在Linux中安装nginx环境

原创
作者头像
是山河呀
发布于 2025-02-01 06:16:47
发布于 2025-02-01 06:16:47
31500
代码可运行
举报
文章被收录于专栏:Linux代码Linux代码
运行总次数:0
代码可运行

方案一:使用包管理器安装Nginx

1. 更新系统包
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt update && sudo apt upgrade -y 
2. 安装Nginx
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install nginx -y 
3. 启动Nginx服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start nginx 
4. 设置开机启动
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable nginx 
5. 验证安装

打开浏览器访问http://your_server_ip,看到“Welcome to nginx!”页面即表示安装成功。

方案二:从源码编译安装Nginx

1. 安装依赖工具
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev -y 
2. 下载并解压Nginx源码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget http://nginx.org/download/nginx-1.24.0.tar.gz  
tar -zxvf nginx-1.24.0.tar.gz  
cd nginx-1.24.0 
3. 编译并安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./configure --prefix=/usr/local/nginx 
make 
sudo make install 
4. 创建启动脚本
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/init.d/nginx 

添加以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/sh 
nginx="/usr/local/nginx/sbin/nginx"
case "$1" in 
    start)
        $nginx 
        ;;
    stop)
        $nginx -s stop 
        ;;
    restart)
        $nginx -s reload 
        ;;
esac 
exit 0 

保存后赋予执行权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo chmod +x /etc/init.d/nginx 
5. 启动Nginx
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /etc/init.d/nginx start 

方案三:使用第三方仓库安装Nginx

1. 添加Nginx官方PPA仓库
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo add-apt-repository ppa:nginx/stable 
sudo apt update 
2. 安装Nginx
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install nginx -y 
3. 启动Nginx服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start nginx 

配置Nginx

1. 编辑配置文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/nginx/nginx.conf  

主要配置包括:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
user www-data;
worker_processes auto;
error_log /var/log/nginx/error.log; 
pid /run/nginx.pid; 
 
events {
    worker_connections 768;
}
 
http {
    include mime.types; 
    default_type application/octet-stream;
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 65;
    gzip on;
 
    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        index index.html  index.htm; 
 
        server_name your_domain_or_ip;
 
        location / {
            try_files $uri $uri/ =404;
        }
    }
}
2. 创建虚拟主机配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/nginx/sites-available/my_site 

添加内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen 80;
    server_name example.com  www.example.com; 
 
    root /var/www/example.com/public_html; 
    index index.html  index.htm; 
 
    location / {
        try_files $uri $uri/ =404;
    }
 
    location ~ /\.ht {
        deny all;
    }
}
3. 启用配置并测试
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ln -s /etc/nginx/sites-available/my_site /etc/nginx/sites-enabled/
sudo nginx -t 
sudo systemctl reload nginx 

配置SSL证书

1. 使用Let's Encrypt获取证书
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install certbot python3-certbot-nginx -y 
sudo certbot --nginx -d example.com  -d www.example.com  
2. 更新配置文件以支持HTTPS
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen 443 ssl http2;
    server_name example.com  www.example.com; 
 
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; 
 
    # 其他配置...
}

性能优化

1. 调整工作进程和连接数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
worker_processes auto;
events {
    worker_connections 1024;
}
2. 启用gzip压缩
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

反向代理与负载均衡

1. 配置反向代理
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upstream backend {
    server backend1.example.com; 
    server backend2.example.com; 
}
 
server {
    listen 80;
    server_name proxy.example.com; 
 
    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
2. 配置负载均衡策略
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upstream backend {
    server backend1.example.com  weight=3;
    server backend2.example.com  weight=2;
    server backend3.example.com  down;
}

缓存配置

1. 配置缓存路径
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxy_cache_path /var/cache/nginx/cache_one levels=1:2 keys_zone=cache_one:10m max_size=1g inactive=60m use_temp_path=off;
2. 应用缓存到location块
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location / {
    proxy_pass http://backend;
    proxy_cache cache_one;
    proxy_cache_valid 200 404;
}

日志管理

1. 配置错误日志
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
error_log /var/log/nginx/error.log  notice;
2. 配置访问日志
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
access_log /var/log/nginx/access.log  combined;

监控与维护

1. 使用Prometheus监控

安装Prometheus并配置抓取目标:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scrape_configs:
  - job_name: 'nginx'
    static_configs:
      - targets: ['localhost:9113']
2. 集成Grafana仪表盘

导入Nginx相关的仪表盘模板,可视化监控数据。

测试与验证

1. 测试配置语法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nginx -t 
2. 检查服务状态
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status nginx 

常见问题解决

  • 403 Forbidden错误:检查文件权限和SELinux设置。
  • 无法访问网站:确保防火墙开放80和443端口。
  • SSL配置错误:检查证书路径和权限。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
『学习笔记』Nginx 基础入门与配置详解
🎈今日推荐——https://cloud.tencent.com/developer/article/2469533
数字扫地僧
2024/11/23
2030
『学习笔记』Nginx 基础入门与配置详解
基于银河麒麟系统部署 Nginx(常见问题总结,建议收藏保存!)
在当今的互联网时代,Nginx 作为一款高性能的 Web 服务器和反向代理服务器,因其轻量级、高并发处理能力和灵活的配置而被广泛应用于各种 Web 应用场景。银河麒麟操作系统(Kylin OS)作为一款国产操作系统,以其稳定性和安全性在众多领域得到了广泛应用。本文将详细介绍如何在银河麒麟操作系统上部署 Nginx,包括安装、配置、优化以及常见问题的排查与解决,帮助读者快速掌握在银河麒麟系统上部署 Nginx 的全过程。
全干程序员demo
2025/04/18
3400
基于银河麒麟系统部署 Nginx(常见问题总结,建议收藏保存!)
Nginx技术全面解析:从基础到高级应用
大家好,我是腾讯云开发者社区的 Front_Yue,本篇文章将针对Nginx的性能优化和高级配置进行详细介绍。
Front_Yue
2024/01/21
9581
Nginx技术全面解析:从基础到高级应用
『学习笔记』使用 Nginx 作为反向代理服务器详细配置指引
🎈今日推荐——https://cloud.tencent.com/developer/article/2470059
数字扫地僧
2024/11/24
1.6K0
『学习笔记』使用 Nginx 作为反向代理服务器详细配置指引
Nginx 总结
如果是使用了两层或以上cdn(使用了cdn和web防火墙也适用),那么在nginx的配置文件http{}字段中加入
yiyun
2022/04/01
2820
Nginx学习笔记
Nginx(Engine X)是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。由于其高并发处理能力、低内存占用、模块化设计和高可配置性,Nginx被广泛应用于现代互联网架构中。
九转成圣
2024/06/08
1670
Nginx-基础总结(上)
1.proxy_set_header :在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。 2.proxy_connect_timeout:配置Nginx与后端代理服务器尝试建立连接的超时时间。 3.proxy_read_timeout : 配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。 4.proxy_send_timeout:配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。 5.proxy_redirect :用于修改后端服务器返回的响应头中的Location和Refresh。
云计算小黑
2022/12/28
4550
nginx代理详细讲解
西里网
2025/03/25
2030
使用Nginx反向代理做小偷站
本教程适用于军哥的LNMP。 下面介绍的是反代别人的网站(类似于小偷),并替换相关内容 1.编译nginX cd /root apt-get update apt-get install -y git gcc g++ make automake #安装依赖包,Centos将apt-get更改为yum git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module wget http://nginx.org/downlo
用户2135432
2018/06/04
3K0
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
Nginx,正确发音为"engine-x",诞生于2004年,由俄罗斯程序员Igor Sysoev匠心打造。它迅速崛起为互联网基础架构中的关键技术组件。
空白诗
2024/06/14
1.5K0
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
如何在Ubuntu 18.04上部署Odoo 11
Odoo是世界上最受欢迎的一体化商业软件,包含CRM,网站,电子商务,计费,会计,制造,仓库,项目管理,库存等多种商业应用程序,无缝地 集成。
星哥玩云
2022/07/13
2.1K0
如何在Ubuntu 18.04上部署Odoo 11
linux安装nginx以及nginx常用配置
Nginx是一款高性能的Web服务器和反向代理服务器。它具有轻量级、高并发和低资源消耗的特点,越来越受到广泛的关注和应用。
玖叁叁
2023/04/10
3K0
使用 Nginx 和 Apache2 配置反向代理
反向代理是一种服务器配置方式,用来代理和转发客户端的请求到后端服务器上。它可以在负载均衡、缓存、加速、安全性等方面提供帮助。常见的反向代理服务器有 Nginx 和 Apache2。本文将详细讲解如何使用 Nginx 和 Apache2 来配置反向代理,将请求代理到不同的端口或服务器上。
alanzeng
2025/01/14
4190
如何在 CentOS 8 上安装 Odoo 13
Odoo 是世界上最流行的多功能商业软件。它提供了一系列商业应用程序,包括 CRM,网站,电子商务,账单,账户,工业制造,仓库,项目管理,库存管理,等等,所有的东西都无缝集成。
雪梦科技
2020/05/11
4.1K0
如何在 CentOS 8 上安装  Odoo 13
nginx 安装和使用
**清除缓存** 缓存文件是根据proxy_cache_key` 这个指令生成的,所以找到对应的缓存文件,删除即可
chuchur
2022/10/25
1.1K0
关于反向代理的两种实践方式
配置多网址重定向到主网址,比如访问 simple.com 跳转到 www.simple.com
乐心湖
2021/01/18
1.1K0
Google Map api国内正常使用该如何配置(2021最新)
最近有客户要求给他们网站做地图方面的功能,由于某些原因,网站必须使用google map,而且希望用到geocoding。大家知道google map api调用国内已经访问不了,虽然网上有很多教程,什么替换ip啊,把maps.google.com改成maps.google.cn。但其实这些方法都是掉了牙的,早就不管用。
仙士可
2021/03/08
7K1
Google Map api国内正常使用该如何配置(2021最新)
后端开发人员必备的一份NGINX学习清单
作为一名服务端研发工程师,接触服务器的时间也比较多。在项目对外提供服务,我们一般会使用NGINX来提供对外的服务,因此NGINX的操作也非常多,这就需要我们对NGINX比较熟悉,因此特意整理了一份相对完善的清单。
兔云小新LM
2024/06/29
1840
Nginx 使用详解:搭建高性能的 Web 服务器
在互联网的世界里,Web 服务器是我们访问网站、获取信息的入口。Nginx(发音"engine x")作为一款轻量级、高性能的 Web 服务器和反向代理服务器,因其出色的性能和可扩展性而备受推崇。本文将围绕 Nginx 的使用进行详解,让你轻松掌握如何搭建高性能的 Web 服务器。
繁依Fanyi
2024/01/02
2.2K0
Nginx 配置
在了解具体的Nginx配置项之前我们需要对于Nginx配置文件的构成有所概念,一般来说,Nginx配置文件会由如下几个部分构成:
一滴水的眼泪
2020/09/24
1.9K0
相关推荐
『学习笔记』Nginx 基础入门与配置详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验