CentOS用nginx搭建文件下载服务器

这篇具有很好参考价值的文章主要介绍了CentOS用nginx搭建文件下载服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动。在工作中,我们经常会用到需要搭建文件服务器的情况,这里就以在linux下搭建文件服务器为例,解释编译nginx和搭建服务器的过程。

一、nginx编译安装

1、下载nginx

  • nginx下载网站
  • wget下载命令
wget http://nginx.org/download/nginx-1.25.2.tar.gz

2、解压压缩包

tar -zxvf nginx-1.25.2.tar.gz

3、创建用户和用户组

useradd -M -s /sbin/nologin nginx

4、编译安装nginx


# 依次执行下面命令
cd nginx-1.25.2

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--without-http_rewrite_module \
--without-http_gzip_module


make && make install

#让系统识别nginx的操作命
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/		

如果在编译过程中报错需要依赖包,执行以下命令安装依赖

#nginx的配置及运行需要pcre、zlib、openssl等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

依赖安装完成重新执行./configure命令

5、检查、启动、重启、停止 nginx服务的命令

nginx -t								#检查配置文件是否配置正确
#启动
nginx									
#停止
cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nginx
#重载
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP nginx
#日志分割,重新打开日志文件
kill -USR1 <PID号>
#平滑升级
kill -USR2 <PID号

nginx 下载文件,Linux,工具方法,服务器,centos,nginx

二、配置nginx文件下载服务器

1、配置nginx.conf文件

  • 到nginx.conf文件目录
cd  /usr/local/nginx/conf/
  • 先备份nginx.cong文件
cp nginx.conf nginx.conf_bak
  • 编辑/usr/local/nginx/conf/nginx.conf文件,
    将 user nobody 改成:user root并取消注释
    nginx 下载文件,Linux,工具方法,服务器,centos,nginx
    配置以下部分
    # 显示目录
    autoindex on;
    # 显示文件大小
    autoindex_exact_size on;
    # 显示文件时间
    autoindex_localtime on;
    # 防止中文乱码
    charset utf-8;
 
 
    server {
        listen       8888;
        #配置了监听端口此条不生效
        server_name  localhost;
        #文件服务器本地存储路径
        root /root/nginx_storge;
    }

nginx 下载文件,Linux,工具方法,服务器,centos,nginx

  • 创建/root/nginx_storge文件夹
mkdir /root/nginx_storge

2、检查并启动nginx

# 检查nginx配置
nginx -t
#启动nginx
nginx -c /usr/local/nginx/conf/nginx.conf
#重载nginx
nginx -s reload

nginx 下载文件,Linux,工具方法,服务器,centos,nginx

3、测试下载

在cd /root/nginx_storge/中新建几个文件和文件夹
nginx 下载文件,Linux,工具方法,服务器,centos,nginx
在浏览器中输入地址:http://192.168.86.129:8888/(根据自己的ip修改)可以看到文件信息,点击文件可以下载
nginx 下载文件,Linux,工具方法,服务器,centos,nginx

三、自动启动nginx的启动脚本

  在实际的工作中,我们需要在不同的地方启动nginx,这种情况下,我们就可以通过自定义脚本的方式来实现该功能。下面我们就以一个视频下载为例来简单说明内容的写法。

1 目录接口

我们首先需要创建一个目录,目录的命名不重要,可以按照各自的业务来,因为脚本是按照相对路径来的,用的时候只需要将该文件夹直接拷贝过去,就可以直接执行,文件夹中的内容结构如下:

---- server.conf #下载路径相关的配置
---- start.sh #执行脚本
---- nginx #nginx相关的文件夹
-------- conf
------------ nginx.conf #nginx的配置文件
-------- logs
------------ access.log #访问日志文件 ,一开始只需要创建一个空文件即可
------------ error.log #错误日志文件 ,一开始只需要创建一个空文件即可
------------ nginx.pid #pid文件 ,一开始只需要创建一个空文件即可

2、server.conf内容

server.conf是配置文件,主要是下载的端口和服务器上面下载文件的绝对路径

recordVideoDownloadPord=8888
recordVideoDownloadRootPath=/home/filePath

3、nginx.conf内容

nginx.conf是nginx配置文件的模板,里面是主要的配置框架,实际内容会在执行start.sh时根据配置替换

user  root;
worker_processes  1;

error_log /usr/local/nginx/logs/error.log  info;

pid        /usr/local/nginx/logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /usr/local/nginx/logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
        # 显示目录
    autoindex on;
    # 显示文件大小
    autoindex_exact_size on;
    # 显示文件时间
    autoindex_localtime on;
    # 防止中文乱码
    charset utf-8;


    server {
        listen 8888;
        #配置了监听端口此条不生效
        server_name  localhost;
        #文件服务器本地存储路径
        root /home/filePath;

        access_log /usr/local/nginx/logs/access.log  main;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
    }



}

4、start.sh文件

#!/bin/bash

local_path=$(pwd)
echo "localPath: $local_path"

nginx_error_log="$local_path/nginx/logs/error.log  info"
nginx_pid="$local_path/nginx/logs/nginx.pid"
nginx_access_log="$local_path/nginx/logs/access.log  main"
nginx_config_file="$local_path/nginx/conf/nginx.conf"



#get config  
port=`sed '/^recordVideoDownloadPord=/!d;s/.*=//' $local_path/server.conf`
root_path=`sed '/^recordVideoDownloadRootPath=/!d;s/.*=//' $local_path/server.conf`
            
echo "read config port : $port" 
echo "read config root : $root_path"

#replace nginxConfigFile
sed -i  "s|error_log .*;$|error_log ${nginx_error_log};|g" $nginx_config_file
sed -i  "s|access_log .*;$|access_log ${nginx_access_log};|g" $nginx_config_file
sed -i  "s|pid .*;$|pid        ${nginx_pid};|g" $nginx_config_file
sed -i  "s|listen .*;$|listen ${port};|g" $nginx_config_file 
sed -i  "s|root .*;$|root ${root_path};|g" $nginx_config_file

    
#stop already started nginx
if [ -f "$nginx_pid" ]; then
    pid=$(cat $nginx_pid)
    if  ps -p $pid  > /dev/null
    then 
        echo "nginx is running pid=$pid, begin stop nginx "
        kill -3 $pid
    fi
fi

echo "begin start nginx"
/usr/local/nginx/sbin/nginx -c $nginx_config_file

5、启动项目

首先需要在nginx/logs下面新建nginx.pid文件,执行命令如下

touch nginx/logs/nginx.pid

将server.conf配置好后,执行start.sh文件,就可以启动项目,每次重启也只需要执行start.sh文件即可。

./start.sh

后记
  个人总结,欢迎转载、评论、批评指正文章来源地址https://www.toymoban.com/news/detail-784631.html

到了这里,关于CentOS用nginx搭建文件下载服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos服务器如何下载文件?

    我们如果要下载文件到Centos服务器中,如何下载呢?今天飞飞和你分享通过wget命令来实现下载文件。服务器大本营,技术文章内容集合站发车啦! 首先查看CentOS7 系统有没有安装wget: 如果安装了会提示当前安装的版本: 没安装的话可以通过以下命令安装: 下载文件的命令

    2024年02月16日
    浏览(28)
  • 纯nginx制作文件上传下载服务器

    webdav 是一组超文本传输协议的技术集合,有利于用户键协同编辑和管理存储在万维网服务器文档。同时来说就是,webdav可以让用户直接存储,下载,编辑文件,操作文件需要进行用户认证 需要的环境 linux上需要下载git(用来拉取镜像) nginx版本为:nginx-1.22.0.tar.gz 至此,需要

    2024年02月15日
    浏览(36)
  • 【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解

    目录 🌷 安装Nginx环境 🍀 centos操作系统 🍀 ubuntu操作系统 以下是在linux系统中安装Nginx的步骤: 查看服务器属于哪个操作系统 安装 yum : 如果你确定你的系统应该支持 yum ,但它没有安装,你可以尝试安装它。使用以下命令: ①:更新系统软件包 centos: ②:安装EPEL存储库

    2024年04月26日
    浏览(26)
  • Nginx http 文件服务器 中文名称文件乱码以及不能访问下载问题 (解决全过程)...

    书接上文: 在Windows 环境下使用 Nginx 搭建 HTTP文件服务器 实现文件下载 全步骤(详细) 发现的中文乱码问题,终于自己解决了! ^_^ 问题起因: 首先是发现放在 Nginx 共享文件夹下的中文文件会出现乱码问题 初步解决办法: 检查 conf 下 nginx.conf 配置文件中的 charset 编码问题 发

    2024年02月11日
    浏览(46)
  • 三分钟用Golang搭建一个HTTP文件上传下载服务器

    简单需要一个文件服务器来传递数据,只要两个功能,一个上传接口,一个下载接口。 选用go http模块实现,比nginx、ftp等更方便快捷。 上传接口\\\"/v1/file_upload/\\\" 上传接口增加简单BasicAuth鉴权 上传成功返回下载URL json格式返回 只想文件上传服务器测试接口,以下电梯直达即可

    2024年02月11日
    浏览(49)
  • [Python http.server] 搭建http服务器用于下载/上传文件

    动机: 笔者需测试bs架构下的文件上传与下载性能,故想通过Python搭建http服务器并实现客户端与服务器之间的文件上传和下载需求 难点: 这应该是很基础的东西,不过笔者之前未接触过http编程,谨在此记录下学习的过程,可能不是最优解 方法: 在服务器端部署html页面,并

    2024年02月11日
    浏览(34)
  • MobaXterm上传下载文件、文件夹到服务器上

      首先通过SSH与服务器建立连接,不懂的可查阅相关资料,CSDN里有很多介绍。 1、上传下载文件 可以在命令输入窗口,无需输入命令,按ctrl单击的同时鼠标右键出现以下左图,选择receive file using Z-modem或者send file using Z-modem来上传或者下载文件。 也可以通过mobaxterm左侧的导

    2024年02月11日
    浏览(36)
  • java根据服务器(linux)端ip+文件路径将服务器端文件下载到本地

    jsch:Maven Repository: com.jcraft » jsch » 0.1.55 (mvnrepository.com)​​​​​  

    2024年02月11日
    浏览(48)
  • lua 请求ftp服务器数据,下载文件

    1、装入ftp库 2、调用ftp的get()方法 3、get()方法参数格式: 4、将返回到的数据写入文件中 例如,本次获取专利数据系统 http://patdata1.cnipa.gov.cn/ 的ftp站点数据

    2024年02月16日
    浏览(27)
  • FTP服务器文件自动上传、下载(bat)

    tips: 可以参照标题3上面的配置,自行调整本地路径、FTP服务器路径、账号密码等

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包