我们在日常写文章记笔记时,有时需要引用一些图片,而在markdown语法中,图片是以链接的形式引入的,比如:
![图片备注名](图片链接)
若我们直接上传本地图片,那么它在文章中仅仅保存的是一个本地图片的路径,此时,如果文章分享给他人或上传到网上,里面的图片显然会失效。所以我们一定要给自己的图片添加一个外链。
所谓图片外链是指图片不需要在本地服务器上,通过引用别的网站 (服务器)上的图片的URL在网页上直接显示图片,而不需给出图片的反向链接。
当我们需要给这些图片添加统一的外链时,就需要一片存储图片的网络空间,即图床。
图床搭建
一些非专业途径
通过之前的描述,我们很容易想到,似乎只要把图片发表到网上就可以了,确实是这样的。如今社交平台丰富,例如微博、QQ、微信、抖音、知乎等等,你可以在任何平台上传图片,上传后的图片会由平台帮你保管,你只需要右键获取图片=>复制图片地址就可以获得外链。
● 优点:不要钱、快捷、且大平台图片存储稳定长久
● 缺点:不可控(若平台内部调整,图片存储位置改变,原先复制的链接自然失效),
不方便管理(不能专门进行分类)
专业图片托管
提供这样的服务其实很多,只是没有绝对的不要钱,一般是提供小容量的不要钱存储
注:肯定更好的图床,而且这样的海外网站较多,需要自己去挖掘。但一般海外网站有些通病:国内访问速度过慢,甚至直接被墙。
● 优点:专业,图片管理方便,链接可持久
● 缺点:非充钱用户的种种限制,命运或者在第三方手里(假如一个小平台,人人都白嫖,人家不赚钱了还给你服务?万一停服图片丢失损失太大)。好吧其实最大的缺点是不够酷(我自己有服务器干嘛要去舔别人
中途我还尝试过github图床,不过github原链接访问速度实在感人,网上推荐的使用jsDelivrcdn 加速,貌似在国内的服务也挂了
使用Nginx在自己的服务器上存储图片
!重头戏在这,想法很简单(操作确实也很简单):使用宝塔面板将图片上传到云主机(这里我们推荐选择桂哥网络香港云主机),然后对外暴露链接,这一步就需要用到Nginx。
你甚至不需要知道Nginx是什么
● 上传图片
直接进入宝塔面板,文件管理中
记住图片路径
● 暴露链接
本质就是使用Nginx监听一个端口,在该端口提供一个访问指定目录文件的服务
在软件商店中找到Nginx,打击开设置=>配置修改
里面原先应该是有一个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
大功告成!