程序地带

Nginx搭建文件下载服务器


Linux版本:CentOS 8.2


Nginx版本:1.18.0 1.在官方下载rpm包:http://nginx.org/packages/centos/ 2.下载好之后,将包上传到home目录下,然后使用yum安装:yum install -y /home/nginx-1.18.0-1.el8.ngx.x86_64.rpm


安装好之后,一般如果你的80端口不被占用,那么就可以通过输入你的Linux系统的ip,打开nginx主页了,比如我的ip:http://192.168.208.100:80/,打开如下: 在这里插入图片描述 如果你打不开,先检查下是否启动了nginx,用systemctl start nginx尝试启动下,另外检查下你的防火墙是否做了配置,如果嫌麻烦,直接关掉防火墙。另外查看下80端口是否被占用,如果80端口占用了,就要改下配置文件了。


3.nginx的配置文件在"/etc/nginx/nginx.conf"中,这个是全局的配置文件,一般除了第一行的用户需要改一下,如果权限不足的话,其他的都不用改,这里我们为了方便,把用户由原来的nginx改为root: 在这里插入图片描述 另外一个配置文件是server的配置,在"/etc/nginx/conf.d/default.conf"中,如果修改端口的话,就修改这里的端口:


在这里插入图片描述 红色框起来的部分,是我做了修改的部分,其他的都保持默认即可。全部内容如下:


server {
#nginx监听的端口,默认是80,如果被占用,就修改为其他的,
#这里我改为9000
listen 9000;
server_name localhost;
#防止乱码,需要加上编码
charset utf-8;
#access_log /var/log/nginx/host.access.log main;
#路由规则
#如果想把nginx作为下载服务器,则改为系统目录地址
#比如下面这样,当访问主页时,打开的是本地的/home/nginx/download目录
location / {
root /home/nginx/download;
autoindex on; #开启索引功能
autoindex_exact_size off; #关闭计算文件确切大小(单位bytes),
#只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; #显示本机时间而非 GMT 时间
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /.ht {
# deny all;
#}
}

4.修改好配置文件后,创建/home/nginx/download目录。


5.重启nginx:systemctl restart nginx。使用http://192.168.208.100:9000/打开下载主页面,一般情况都会报403的错误,这个是因为权限的问题,首先这里我们修改了启动nginx的用户为root,root的最高权限账户,所以不存在用户权限的问题,那么这里的权限问题就是SELINUX导致的,把它禁用了就可以了。方法是修改配置文件"/etc/selinux/config",如下: 在这里插入图片描述 禁用之后重启系统,然后首先启动nginx,再访问http://192.168.208.100:9000/,就可以查看可下载的文件了:


在这里插入图片描述 到这里,下载功能就完成了。


6.当需要配置多个访问路径的时候,则其他的路径要将root改为alias:


location /test {
alias /nginx/html/;#这里应该是alias,不再是root
index index.html;
}

文章转载自:Nginx搭建文件下载服务器


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42684504/article/details/111246006

随机推荐

torch.nn模块之常用激活函数详解

激活函数1.常用的激活函数2.激活函数计算公式及其可视化2.1Sigmoid激活函数2.2Tanh激活函数2.3ReLu激活函数2.4LeakyReLU2.5Softplus激活函数1.常用的激活函数...

@DWC_DIP 阅读(887)

面向对象—继承

知识梳理:继承继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。语法extendspublicclassPe...

ciao-lk 阅读(320)

DS18B20 1602

main.c/********************************************************************************此代码仅供参考,只提供学习...

老尚嵌入式 阅读(1000)

Java-用instanceof关键字进行类型判断

判断引用的类是猫还是狗?如何才能知道一个父类引用的对象,本来是什么子类?格式:对象instanceof类名称这将会得到一个boolean值结果&...

青我 阅读(366)

高清壁纸|是时候换换心情了

高清壁纸|是时候换换心情了

是不是你也同我一样,每到一个节日或是季节交替,亦或是心情更迭,都会换换壁纸来共情此时的心情!那么问题来了,你的壁纸哪里下载...

awayaya1 阅读(898)

2020-12-17

1config配置1.1数据源1packagecom.sunt.nbschedule.config;importcom.alibaba.druid.pool.DruidDataSource;impor...

星猩索魂 阅读(165)

Leetcode精选50题-Day04

Leetcode精选50题-Day04016最接近的三数之和1.[题目描述](https://leetcode-cn.com/problems/container-with-most-water/)2...

木姑娘 阅读(303)