热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FTP服务器安装+NGINX搭建简单的图片服务器(Linux)

ftpnginx实现简单的图片服务器最近在做个人网站,设计到图片的上传和保存,于是想做一个专门存图片的服务器。以前用过一个tomcatweb服务器做图

ftp+nginx实现简单的图片服务器

最近在做个人网站,设计到图片的上传和保存,于是想做一个专门存图片的服务器。以前用过一个tomcat web服务器做图片的服务器,但缺点就是必须和部署系统在同一台服务器下。现在想直接通过代码将图片上传到另一台服务器,再将图片访问路径返回保存到数据库,直接通过url访问。

本教程我不会阐述每条配置的意义,只是记录一下搭建操作。


环境:Linux centos8

参考文章:
https://developer.aliyun.com/article/773249?spm=5176.24320532.content1.7.44987a79m4ya8r

​https://blog.csdn.net/hahahaxiaoyu/article/details/100582853


1.安装ftp(vsftp)

我是在linux环境下安装ftp,叫vsftp,安装命令:

yum install -y vsftpd # 安装命令# 如果想卸载重装,这是卸载命令
# 1. 先停止服务
systemctl stop vsftpd.service
# 2. 查看还有没有运行的服务,用kill命令杀掉
ps aux | grep vsftpd
# 3. 执行卸载命令
yum remove vsftpd
# 4. 查看还有没有
rpm -qa | grep vsftp

2.修改配置文件

# 切换到配置文件路径
cd /etc/vsftpd
# 先备份一份配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_back.conf
# 修改配置
vim /etc/vsftpd/vsftpd.conf

3.配置文件内容

# 这里就不废话什么参数意义了,直接copy过去,覆盖就行了
anonymous_enable=NO
# 设置本地用户登录后所在目录
local_root=/var/ftp/file
write_enable=YES
local_umask=042
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010
allow_writeable_chroot=YES

4.创建ftp用户

# 创建一个ftpuser用户(就是一个linux账号)
useradd -s /sbin/nologin -d /home/ftpuser ftpuser
# 设置密码ftpuser的密码
passwd ftpuser

5.创建一个供ftp服务使用的文件目录

# 目录路径,跟步骤3的local_root参数一样
mkdir /var/ftp/file
# 更改目录的拥有者为ftpuser
chown -R ftpuser:ftpuser /var/ftp/file

6.启动服务前的准备

# 查看ftpuser账户目录和登录shell对应的是什么,之前创建ftpuser时
# 登录shell是 /sbin/nologin
vim /etc/passwd
# 打开passwd文件后,找到ftpuser,确认是不是/sbin/nologin(不是不打紧!别乱改,退出)
ftpuser:x:1000:1000::/home/ftpuser:/sbin/nologin (图1)
# 打开shells文件
vim /etc/shells
# 看看有没有 /sbin/nologin 这一行,就是上面passwd文件里面ftpuser那行对应的启动shell脚本
# 没有就进入编辑模式添加上, /sbin/nologin 然后保存退出 (图2)

图1:

图2:


7.打开必要的端口

# 如果你是阿里云服务器,请到阿里云服务器安全组打开端口号20,21,22
# 和 10000 ~ 11000 范围内的端口号
# linux 命令
firewall-cmd --add-port=20-22/tcp --permanent
firewall-cmd --add-port=10000-11000/tcp --permanent

8.启动vsftp服务

# 启动
systemctl start vsftpd.service
# 其他命令
# 设置开机自启
systemctl enable vsftpd.service
# 重启
systemctl restart vsftpd.service
# 停止服务
systemctl stop vsftpd.service

9.测试

我是在widows10上使用cmd命令进行远程测试,看图执行

# 1.输入:ftp
# 2.输入:open 服务器ip 21
# 3.输入:创建的账号,ftpuser
# 4.输入:密码
# 5.等待连接...
# 出现:230 Login successful 表示登录成功!

# 输入:lcd
# 出现的是你windwos环境的当前目录
# 输入:dir
# 出现的是你ftp服务器上,/var/ftp/file 路径下的文件信息

在这里插入图片描述

# 上传图片测试
# 切换到要上传文件的盘符(window环境下的!)
#命令>: lcd D:\
# 上传文件, 我d盘下有这张图片,你可以随便传文件(是文件!)
#命令>: put 123213213.png

# 到服务器上查看
#命令>:cd /var/ftp/file

在这里插入图片描述

到这里ftp服务器的搭建和上传图片完成,

10.配置nginx

# 这里不接受nginx安装了,直接配置nginx.conf配置文件,建议不了解nginx配置的先去了解一下
# 编辑nginx.conf, 在顶处,添加:user ftpuser

在这里插入图片描述

# 配置一个映射
location /test/ {root /var/ftp/file;
}
# 然后使用:服务器ip:端口号/test/123213213.png 就可以访问图片了,
# 注意:图片的完整路径是: /var/ftp/file/test/123213213.png
# 所以如果要用 /test/来映射的话,/var/ftp/file 路径下必须要有test文件夹,图片是在test文件夹下!



完毕。


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
author-avatar
mobiledu2502902537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有