服务器搭建个人图床,展示git仓库的图片
设立多location的nginx映射
原来自己的Nginx已经搭建了自己的网站,所以需要配置多个location,用第二个location来展示自己的图片,因此location如果要一个特定的url(不是/
的时候)要使用别名,不能用root,alias指定的目录是准确的,直接指向目标文件的物理地址
主要是要注意自己的第二个location下面一定要有对应的目录,然后要启动图片浏览,文件下载,就必须使用autoindex on;
需要添加的location格式如下
1 | # 原来的网站的节点 |
搭建git服务器并添加git-hooks
看完注意点再操作
添加githooks可以看这个 这里要仿造这个链接的教程再在别的目录里面进行git图片仓库的操作,然后自己之后就可以每次像给github提交一样给自己的服务器提交了(看下面我的代码)
linux版本
1 | # 这个只要做一次 |
windows版本
1 | # 这个只要做一次 |
注意点
- 一定要让git/.ssh的所有文件的拥有者是git,否则可能导致无法免密登录
就是要操作sudo chown -R git:git /home/git/.ssh
- 还有我们后面要启用githooks,所以不要把git的运行目录降权,否则无法使用
- 也可以给git添加root权限找到以下内容:
1
2chmod 740 /etc/sudoers
vim /etc/sudoers在下面添加一行:git ALL=(ALL) ALL1
2## Allow root to run any commands anywhere
root ALL=(ALL) ALL
保存退出后改回权限:chmod 400 /etc/sudoers
思考代码
了解到了裸库上的文件是看不到的,必须通过web转化成可以看见的链接,所以现在就很好理解下面的代码了
1 |
|
成功图展示
nginx配置易错点回顾
- location如果要一个特定的url要使用别名,不能用root,alias指定的目录是准确的
- 然后要启动图片浏览,文件下载,就必须使用
autoindex on;