使用Nginx在云服务器上搭建图床

使用Nginx搭建图床

纠正一下哈,一般图片等媒体资源服务是不直接走服务器的,特别是大量链接或请求的情况下,会给服务器造成很大压力。这时会通过CDN来进行分发。这里推荐使用七牛云CDN服务,低价且新用户免费一年,结合github可以搭建自己的图床。

为什么需要图床

我们在日常写文章记笔记时,有时需要引用一些图片,而在markdown语法中,图片是以链接的形式引入的,比如:

![图片备注名](图片链接)

若我们直接上传本地图片,那么它在文章中仅仅保存的是一个本地图片的路径,此时,如果文章分享给他人或上传到网上,里面的图片显然会失效。所以我们必须给自己的图片添加一个外链

所谓图片外链是指图片不需要在本地服务器上,通过引用别的网站 (服务器)上的图片的URL在网页上直接显示图片,而不需给出图片的反向链接。

当我们需要给这些图片添加统一的外链时,就需要一片存储图片的网络空间,即图床

图床搭建

一些非专业途径

通过之前的描述,我们很容易想到,似乎只要把图片发表到网上就可以了,确实是这样的。如今社交平台丰富,例如微博、QQ、微信、抖音、知乎等等,你可以在任何平台上传图片,上传后的图片会由平台帮你保管,你只需要右键获取图片=>复制图片地址就可以获得外链。

  • 优点:免费、快捷、且大平台图片存储稳定长久

  • 缺点:不可控(若平台内部调整,图片存储位置改变,原先复制的链接自然失效),

不方便管理(不能专门进行分类)

专业图片托管

提供这样的服务其实很多,只是没有绝对的免费,一般是提供小容量的免费存储

举个我用过的:熊猫图床

来张图片,你自行体会

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRmH0clk-1661587908974)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/01548d18dd4148149a94b254248162e1~tplv-k3u1fbpfcp-zoom-1.image)]

:肯定更好的图床,而且这样的国外网站较多,需要自己去挖掘。但一般国外网站有些通病:国内访问速度过慢,甚至直接被墙。

  • 优点:专业,图片管理方便,链接可持久
  • 缺点:非充钱用户的种种限制,命运还是在第三方手里(假如一个小平台,人人都白嫖,人家不赚钱了还给你服务?万一停服图片丢失损失太大)。好吧其实最大的缺点是不够酷(我自己有服务器干嘛要去舔别人

中途我还尝试过github图床,不过github原链接访问速度实在感人,网上推荐的使用jsDelivr cdn 加速,貌似在国内的服务也挂了,详情见:jsDelivr挂了吗?

使用Nginx在自己的服务器上存储图片

!重头戏在这,想法很简单(操作确实也很简单):使用宝塔面板将图片上传到服务器,然后对外暴露链接,这一步就需要用到Nginx。

你甚至不需要知道Nginx是什么(Nginx 是什么、为什么、怎么用?

  • 上传图片

    直接进入宝塔面板,文件管理中

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qUmSaRLW-1661587908976)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/fe6406ac8e624785b017eb265c97fb89~tplv-k3u1fbpfcp-zoom-1.image)]

    记住图片路径

  • 暴露链接

    本质就是使用Nginx监听一个端口,在该端口提供一个访问指定目录文件的服务

    在软件商店中找到Nginx,打击开设置=>配置修改

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aEmnS6wp-1661587908976)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/853f4b34314b4613b19f7ccf4eb2e4c0~tplv-k3u1fbpfcp-zoom-1.image)]

    里面原先应该是有一个server的,在这个server的同级下(每个server对应一个服务)贴入:

        server {
          listen 8080;	# 提供服务的端口
          location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ {
            root /www/wwwroot/imgStore/;    
            autoindex on;
          }
        }
    
    • location后面是用来匹配请求的路径
    • root则是将请求路径映射到服务器上的绝对路径/www/wwwroot/imgStore/
    • autoindex on是打开浏览功能
  • 放行监听端口

    宝塔面板和服务器控制台中分别放行8080端口

  • 测试

    若图片路径:/www/wwwroot/imgStore/1.png

    访问地址应该为:http://域名或IP:8080/1.png

    若图片路径:/www/wwwroot/imgStore/test/1.png

    访问地址应该为:http://域名或IP:8080/test/1.png

大功告成!(憋出1k字是我没想到的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,以下是在虚拟机上通过 Nginx 搭建 Web 服务器的步骤: 1. 安装 Nginx 在终端中使用以下命令安装 Nginx: ``` sudo apt-get update sudo apt-get install nginx ``` 2. 启动 Nginx 服务 安装完成后,使用以下命令启动 Nginx 服务: ``` sudo systemctl start nginx ``` 可以使用以下命令检查 Nginx 服务是否已经启动: ``` sudo systemctl status nginx ``` 如果 Nginx 服务已经启动,则终端中会显示 Active(运行中)。 3. 配置 Nginx Nginx 的默认配置文件位于 /etc/nginx/nginx.conf。可以使用以下命令打开该文件: ``` sudo nano /etc/nginx/nginx.conf ``` 在该文件中,可以配置 Nginx 的监听端口、服务器名称以及反向代理等信息。在这里,我们以配置一个简单的 Web 服务器为例。 在 http 部分中添加以下内容: ``` server { listen 80; server_name example.com; root /var/www/html; index index.html; } ``` 其中,listen 表示监听端口,server_name 表示服务器名称,root 表示 Web 服务器的根目录,index 表示默认打开的页面。 4. 创建 Web 服务器的根目录 根据上面的配置文件,Web 服务器的根目录位于 /var/www/html。使用以下命令创建该目录: ``` sudo mkdir -p /var/www/html ``` 可以在该目录下创建一个简单的 HTML 文件,用于测试 Web 服务器是否正常工作。使用以下命令创建 index.html 文件: ``` sudo nano /var/www/html/index.html ``` 在该文件中添加以下内容: ``` <!DOCTYPE html> <html> <head> <title>My Web Server</title> </head> <body> <h1>Welcome to my web server!</h1> </body> </html> ``` 5. 测试 Web 服务器是否正常工作 完成上述步骤后,可以使用浏览器访问 Web 服务器。在浏览器地址栏中输入服务器的 IP 地址或域名,例如 http://localhost 或 http://example.com,如果一切正常,应该能够看到显示“Welcome to my web server!”的页面。 以上就是在虚拟机上通过 Nginx 搭建 Web 服务器的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaji6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值