ubuntu安装nginx以及开启文件服务器

1. 下载源码

下载页面:https://nginx.org/en/download.html
下载地址:https://nginx.org/download/nginx-1.24.0.tar.gz

curl -O https://nginx.org/download/nginx-1.24.0.tar.gz

2. 依赖配置

sudo apt install gcc make libpcre3-dev zlib1g-dev openssl libssl-dev
如果是centos的话用下面命令:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3. 编译

解压源代码:

tar -zxvf nginx-1.24.0.tar.gz

生成编译脚本:

cd nginx-1.24.0/ 
./configure --prefix=/usr/local/nginx --with-http_ssl_module

编译:

make

安装:

make install

查看验证:

ls /usr/local/nginx
ls /usr/local/nginx/sbin/
sudo /usr/local/nginx/sbin/nginx -t

Nginx卸载

执行卸载命令:

sudo apt purge nginx

卸载完以后/var/log/nginx、/var/www/html、/etc/nginx这3个目录并不会删除,如果需要删除可以执行删除命令:

sudo rm -rf /var/log/nginx /var/www/html /etc/nginx

可以再删除依赖项:

sudo apt autoremove

4. 启动nginx服务

安装成功之后,进入【/usr/local/nginx】目录里面,首先修改【conf/nginx.conf】配置文件,将配置文件中的第一行代码【user nobody;】修改成【user root;】,如下图所示:
在这里插入图片描述
修改完成之后,在【/usr/local/nginx】目录下,执行【./sbin/nginx】命令,启动nginx服务。
在这里插入图片描述
重启:

./sbin/nginx -s reload

5. 测试nginx是否安装成功

打开浏览器,地址栏输入服务器的IP地址,如果可以看到nginx的欢迎页面,那么恭喜你,nginx安装成功啦。注意:如果你的nginx访问时候,报错403没有权限,这是因为nginx访问用户和启动nginx服务的用户不一致,你需要修改【nginx.conf】配置文件中第一行代码【user nobody;】将这个nobody修改成你Linux系统中的用户名称。

在这里插入图片描述

6. 配置成为文件服务器

进入nginx目录

cd /usr/local/nginx/

打开配置文件:

 vim conf/nginx.conf

server修改成如下内容

server {listen 80;server_name  localhost;charset utf-8;root    /home/downloads;                  # 文件存放目录# 下载location / {autoindex on;                         # 启用自动首页功能autoindex_format html;                # 首页格式为HTMLautoindex_exact_size off;             # 文件大小自动换算autoindex_localtime on;               # 按照服务器时间显示文件时间default_type application/octet-stream;# 将当前目录中所有文件的默认MIME类型设置为# application/octet-streamif ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){# 当文件格式为上述格式时,将头字段属性Content-Disposition的值设置为"attachment"add_header Content-Disposition: 'attachment;'; }sendfile on;                          # 开启零复制文件传输功能sendfile_max_chunk 1m;                # 每个sendfile调用的最大传输量为1MBtcp_nopush on;                        # 启用最小传输限制功能#       aio on;                               # 启用异步传输directio 5m;                          # 当文件大于5MB时以直接读取磁盘的方式读取文件directio_alignment 4096;              # 与磁盘的文件系统对齐output_buffers 4 32k;                 # 文件输出的缓冲区大小为128KB#       limit_rate 1m;                        # 限制下载速度为1MB
#       limit_rate_after 2m;                  # 当客户端下载速度达到2MB时进入限速模式max_ranges 4096;                      # 客户端执行范围读取的最大值是4096Bsend_timeout 20s;                     # 客户端引发传输超时时间为20spostpone_output 2048;                 # 当缓冲区的数据达到2048B时再向客户端发送chunked_transfer_encoding on;         # 启用分块传输标识}
}

再重启nginx,就可以下载文件了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【分治算法】Strassen矩阵乘法Python实现

文章目录 [toc]问题描述基础算法时间复杂性 Strassen算法时间复杂性 问题时间复杂性Python实现 个人主页:丷从心. 系列专栏:Python基础 学习指南:Python学习指南 问题描述 设 A A A和 B B B是两个 n n n \times n nn矩阵, A A…

CICD流水线 发布应用到docker镜像仓库

准备工作 1.先注册免费的镜像仓库 复制链接: https://cr.console.aliyun.com/cn-beijing/instances 实施 1. 新建流水线,选择模板 2.添加流水线源,及是你的代码仓库, 选择对应分支. 3.代码检查以及单元测试,这个步骤可以不用动它. 4. …

AI的力量感受(附网址)

输入 科技感的 二维码,生成如下,还是可以的 输入金属感 的芯片,效果就很好了 金属感 打印机,细节丰富,丁达尔效应 就有点跑题了 金属感 扫码仪 还有点像 3D 封装长这样,跑题比较严重 总之,AI还…

如何使用生成式人工智能撰写关于新产品发布的文章?

利用生成式人工智能撰写新产品发布文章确实是一种既有创意又高效的内容生成方式。以下是如何做到这一点的指南,附带一些背景信息: • 背景:在撰写文章之前,收集有关您的新产品的信息。这包括产品的名称、类别、特点、优势、目标受…

朗汀留学美国生物医学工程专业留学部分录取案例合集

满怀期待的憧憬与金榜题名的喜悦交织着未来的掌声,捧在手心里的不仅仅是一份一份努力浇灌的录取通知,更是一起拼搏走过的岁月沉淀。 我们感恩每一位朗汀留学的学生和家长,是你们的支持与信任,让我们有机会共享此刻的荣耀&#xff…

数据挖掘及其近年来研究热点介绍

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

jdk目录结构

jdk目录详解 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者 编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。 JDK(J…

【数据结构】考研真题攻克与重点知识点剖析 - 第 6 篇:图

前言 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术…

爱普生语音芯片的特点与应用市场

随着物联网与智能家居的普及,越来越多的电子产品有了语音播报的需求。但是很多客户没有类似的开发经验或者他们的产品内部只能承载一个蜂鸣器。这样的情况下要如何实现快速的产品升级呢?下面让我们来看一下差普生语音芯片是如果帮助客户的。目前爱普生语音芯片分为…

Redis 的主从复制、哨兵和cluster集群

目录 一. Redis 主从复制 1. 介绍 2. 作用 3. 流程 4. 搭建 Redis 主从复制 安装redis 修改 master 的Redis配置文件 修改 slave 的Redis配置文件 验证主从效果 二. Redis 哨兵模式 1. 介绍 2. 原理 3. 哨兵模式的作用 4. 工作流程 4.1 故障转移机制 4.2 主节…

记录一次内网渗透过程

0x01 前言: 一切以学习为主,记录一次小小的攻击过程 本次是通过外网漏洞撕开的口子,主要通过一下方式 拿到了目标资产 nday扫一扫 弱口令爆一爆 上传接口找一找 后台上传找一找 数据库弱口令 关注新day,有了立马在资产里面…

K8s学习三(Pod与探针)

深入学习Pod Pod配置文件 写一个自己的配置文件,nginx-po.yaml apiVersion: v1 #api文档版本 kind: Pod #资源类型对象,也可以配置为像Development,StatefulSet这一类的对象 metadata: # Pod相关的元数据,用于描述Pod的数据name: nginx-po…

深度比较Vue 3.0中的computed和watch属性用法与最佳实践

摘要:在Vue 3.0中,computed和watch属性是用于处理数据逻辑的重要工具。本文将详细对比这两个属性的工作原理、适用场景以及使用时的注意事项,旨在帮助开发者更有效地选择和使用它们。 一、computed属性 computed属性是Vue 3.0中用于计算数据…

【随笔】Git 高级篇 -- 相对引用2 HEAD~n(十三)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

D. Constructing the Array Codeforces Round 642 (Div. 3)

题目链接:Problem - 1353D - Codeforceshttps://codeforces.com/problemset/problem/1353/D 题目大意: 往空的数组里从1~n填数字,每次填最长的空区间的中间位置(位置向下取整)。 思路: 用二分判断放每一个数…

【信贷后台管理之(五)】

文章目录 目录结构一、面包屑组件封装二、退出登录接口联调三、申请列表的菜单路由3.1 路由创建,表格编写3.2 列表接口调用3.3 出生日期转变3.4 申请状态3.5 申请列表的操作3.5.1 编辑删除提交操作3.5.2 禁用状态3.5.3 操作接口3.5.4 搜索查询3.5.5 申请列表分页功能…

探索Python爬虫:解析网页数据的神奇之旅

在当今数字化时代,信息的获取变得比以往任何时候都更加便捷。然而,即使在互联网上,获取数据也需要通过正确的工具和技术。Python爬虫就是这样一种强大的工具,它可以让我们轻松地从互联网上收集数据,并将其转化为有用的…

DFS-0与异或问题,有奖问答,飞机降落

代码和解析 #include<bits/stdc.h> using namespace std; int a[5][5]{{1,0,1,0,1}}; //记录图中圆圈内的值&#xff0c;并初始化第1行 int gate[11]; //记录10个逻辑门的一种排列 int ans; //答案 int logic(int x, int y, int op){…

vue中的treeselect下拉框显示不全的解决办法

:appendToBody“true” z-index“9000” 如图&#xff1a;页面中显示的下拉框信息展示不全&#xff0c;就看不见了&#xff0c;也没有滚动条 解决办法&#xff1a;在代码中添加属性【:appendToBody“true” z-index“9000”】 z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺…

Redis: 持久化

文章目录 一、RDB持久化1、概念2、生成、载入RDB文件3、执行时机&#xff08;1&#xff09; 执行save命令&#xff08;2&#xff09;执行bgsave命令&#xff08;3&#xff09;Redis停机时&#xff08;4&#xff09;触发RDB条件 4、bgsave原理5、小结 二、AOF持久化1、概念2、AO…