Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【docker/宝塔】自己的短链接服务——YOURLS

【docker/宝塔】自己的短链接服务——YOURLS

作者头像
夜梦星尘
发布于 2024-08-20 09:32:46
发布于 2024-08-20 09:32:46
45900
代码可运行
举报
运行总次数:0
代码可运行

本文发布于394天前,最后更新于93天前,其中的信息可能有所发展或是发生改变。

1.前言

有自己的短链接服务真的很不错!可以让杂乱无章的链接变得赏心悦目~

官网:YOURLS | YOURLS

GitHubYOURLS/YOURLS: 🔗 The de facto standard self hosted URL shortener in PHP (github.com)

安装:Installation | YOURLS

2.准备

在开始部署之前,你需要安装 docker 和 docker-compose。具体安装见:【docker】在服务器上安装 docker/docker-compose

你可以为服务器添加些 swap:手动添加 SWAP

3.部署

3.1使用docker

安装docker和docker-compose:【docker】在服务器上安装docker

创建配置文件(域名一定要改!)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /root/data/docker_data/yourls
cd /root/data/docker_data/yourls
vim docker-compose.yml

根据自己的需求,修改下面的配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: "3.5"
services:

  mysql:
    image: mysql:5.7 
    environment:
      - MYSQL_ROOT_PASSWORD=my-secret-pw
      - MYSQL_DATABASE=yourls
      - MYSQL_USER=yourls
      - MYSQL_PASSWORD=yourls
    volumes:
      - ./mysql/db/:/var/lib/mysql
      - ./mysql/conf/:/etc/mysql/conf.d
    restart: always
    container_name: mysql
  
  yourls:
    image: yourls
    restart: always
    ports:
      - "8080:80"
    environment:
      YOURLS_DB_HOST: mysql
      YOURLS_DB_USER: yourls
      YOURLS_DB_PASS: yourls
      YOURLS_DB_NAME: yourls
      YOURLS_USER: yemeng      # 自己换一个名字
      YOURLS_PASS: yemeng      # 自己换一个密码
      YOURLS_SITE: https://tech.yemengstar.com  # 换成你自己的域名(站点需要在后面的反向代理中开启SSLYOURLS_HOURS_OFFSET: 8
    volumes:
      - ./yourls_data/:/var/www/html   
    container_name: yourls_service
    links:
      - mysql:mysql

然后就可以启动容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-compose up -d

此时你还不能访问管理页面,需要我们进行反向代理操作。

3.2使用宝塔

详细部署方式可以看夜梦在雨云论坛发布的教程:使用宝塔部署自己的短链接服务 – 综合讨论 – 雨云论坛

1.下载程序:GitHub-Releases https://github.com/YOURLS/YOURLS/archive/refs/tags/1.9.2.zip

2.宝塔面板中新建一个站点和数据库,将程序上传到站点中。站点需要开启SSL

3.解压程序至站点根目录。

4.将 user/config-sample.php 复制为 user/config.php

5.填写 user/config.php 配置信息。(数据库,站点信息等)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
/* This is a sample config file.
 * Edit this file with your own settings and save it as "config.php"
 *
 * IMPORTANT: edit and save this file as plain ASCII text, using a text editor, for instance TextEdit on Mac OS or
 * Notepad on Windows. Make sure there is no character before the opening <?php at the beginning of this file.
 */

/*
 ** MySQL settings - You can get this info from your web host
 */

/** MySQL database username */
define( 'YOURLS_DB_USER', 'your db user name' );

/** MySQL database password */
define( 'YOURLS_DB_PASS', 'your db password' );

/** The name of the database for YOURLS
 ** Use lower case letters [a-z], digits [0-9] and underscores [_] only */
define( 'YOURLS_DB_NAME', 'yourls' );

/** MySQL hostname.
 ** If using a non standard port, specify it like 'hostname:port', e.g. 'localhost:9999' or '127.0.0.1:666' */
define( 'YOURLS_DB_HOST', 'localhost' );

/** MySQL tables prefix
 ** YOURLS will create tables using this prefix (eg `yourls_url`, `yourls_options`, ...)
 ** Use lower case letters [a-z], digits [0-9] and underscores [_] only */
define( 'YOURLS_DB_PREFIX', 'yourls_' );

/*
 ** Site options
 */

/** YOURLS installation URL
 ** All lowercase, no trailing slash at the end.
 ** If you define it to "http://sho.rt", don't use "http://www.sho.rt" in your browser (and vice-versa)
 ** To use an IDN domain (eg http://héhé.com), write its ascii form here (eg http://xn--hh-bjab.com) */
define( 'YOURLS_SITE', 'http://your-own-domain-here.com' );

/** YOURLS language
 ** Change this setting to use a translation file for your language, instead of the default English.
 ** That translation file (a .mo file) must be installed in the user/language directory.
 ** See http://yourls.org/translations for more information */
define( 'YOURLS_LANG', '' );

/** Allow multiple short URLs for a same long URL
 ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
 ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
define( 'YOURLS_UNIQUE_URLS', true );

/** Private means the Admin area will be protected with login/pass as defined below.
 ** Set to false for public usage (eg on a restricted intranet or for test setups)
 ** Read http://yourls.org/privatepublic for more details if you're unsure */
define( 'YOURLS_PRIVATE', true );

/** A random secret hash used to encrypt cookies. You don't have to remember it, make it long and complicated
 ** Hint: copy from http://yourls.org/cookie */
define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );

/** Username(s) and password(s) allowed to access the site. Passwords either in plain text or as encrypted hashes
 ** YOURLS will auto encrypt plain text passwords in this file
 ** Read http://yourls.org/userpassword for more information */
$yourls_user_passwords = [
	'username' => 'password',
	// 'username2' => 'password2',
	// You can have one or more 'login'=>'password' lines
];

/** URL shortening method: either 36 or 62
 ** 36: generates all lowercase keywords (ie: 13jkm)
 ** 62: generates mixed case keywords (ie: 13jKm or 13JKm) 
 ** For more information, see https://yourls.org/urlconvert */
define( 'YOURLS_URL_CONVERT', 36 );

/** Debug mode to output some internal information
 ** Default is false for live site. Enable when coding or before submitting a new issue */
define( 'YOURLS_DEBUG', false );

/**
* Reserved keywords (so that generated URLs won't match them)
* Define here negative, unwanted or potentially misleading keywords.
*/
$yourls_reserved_URL = [
	'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
];

/*
 ** Personal settings would go after here.
 */

之后即可访问你的域名进入初始化页面。

PS:用户名密码为自己设置的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$yourls_user_passwords = [
	'yemeng' => 'yemeng',
	// 'username2' => 'password2',
	// You can have one or more 'login'=>'password' lines

伪静态设置(必须!)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location / {
try_files $uri $uri/ /yourls-loader.php?$args;
}

4.反向代理(必须且SSL)

使用docker部署的必须进行反向代理

【docker】反向代理神器——Nginx Proxy Manager

【docker】Nginx Proxy Manager的使用

5.更新与卸载

5.1更新

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /root/data/docker_data/yourls 
docker-compose pull    
docker-compose up -d   

5.2卸载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /root/data/docker_data/yourls
docker-compose down  
cd ~
rm -rf /root/data/docker_data/yourls 

6.使用

完成部署后,你可以访问yourDomain/admin进入管理页面。

点击install yourls进入检查安装界面

检查如下

全部通过即可点击进入管理页面,输入账号与密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
YOURLS_USER: yemeng  #YOURLS用户名
YOURLS_PASS: yemeng  #YOURLS密码

主页面

在enter the URL中,填入你想缩短的域名;在Custom short URL中,填入自定义域名

点击shorten the URL

比如夜梦想要缩短的域名为:https://tech.yemengstar.com/?p=4663

使用的短链接为: https://www.o09uh87.top/yourls

那么访问https://www.o09uh87.top/yourls即可跳转到https://tech.yemengstar.com/?p=4663

还可以查询点击次数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-7-16 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
短网址程序YOURLS安装及配置教程与设置中文
简介 YOURLS是一款使用PHP+Mysql开发的短链接程序,相比公共短网址好处是数据掌握在自己手中,可控性更高。 截图 安装 1、下载 YOURLS免费开源,可以在Github下载最新版本(htt
用户1202364
2018/07/09
4K1
简单部署开源短链工具-YOURLS
YOURLS是一款使用PHP+Mysql开发的短链接程序,相比公共短网址好处是数据掌握在自己手中,可控性更高。开源地址:https://github.com/YOURLS/YOURLS
星哥玩云
2022/05/27
2.5K0
简单部署开源短链工具-YOURLS
【docker】又一个美观好用的直播录制工具 | BililiveRecorder
GitHub地址:BililiveRecorder/BililiveRecorder: 录播姬 | mikufans 生放送录制
夜梦星尘
2024/11/25
6000
【docker】又一个美观好用的直播录制工具 | BililiveRecorder
Docker 搭建 Nextcloud
参考: nextcloud/docker: ⛴ Docker image of Nextcloud
yiyun
2022/04/11
5.7K0
Docker 搭建 Nextcloud
YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接
YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接。它支持自定义域名、统计跟踪和API访问。
西里网
2025/05/19
1350
【docker】Umami | 小巧精美的网站流量统计应用
在开始部署之前,你需要安装 docker 和 docker-compose。具体安装见:【docker】在服务器上安装 docker/docker-compose
夜梦星尘
2024/08/20
3380
【docker】Umami | 小巧精美的网站流量统计应用
【docker】Gotify | 极简信息推送服务
Gotify是一款简易的发送与接受消息的开源软件。提供WEB服务端,Android端与命令行工具。
夜梦星尘
2024/08/20
4760
【docker】Gotify | 极简信息推送服务
【docker】自建一言API接口
一言官方给出的API已经足够满足大部分场景的使用,但为什么还要自行部署呢?因为一言是公益性质的,所以在使用调用方面有限制。如果网站访问量大,不可避免的会请求过快,那么你服务器的IP有可能会被拉黑一段时间(然后就加载不出一言的内容了)。自建的话就没有这个担忧了~
夜梦星尘
2024/08/20
2220
【docker】自建一言API接口
【docker】私有IM | Matrix的部署与使用
官方安装文档:Installation – Synapse (matrix-org.github.io)
夜梦星尘
2024/08/20
8180
【docker】私有IM | Matrix的部署与使用
【好玩儿的Docker项目】激情畅聊!十分钟搭建一个插件化易拓展的开源即时聊天(IM)应用——Tailchat
这周和大家分享一个开源的即时聊天项目。也是作者@moonrailgun强烈推荐咕咕用的。
二十五画生
2023/01/11
5.2K0
【好玩儿的Docker项目】激情畅聊!十分钟搭建一个插件化易拓展的开源即时聊天(IM)应用——Tailchat
【好玩儿的Docker项目】好用又强大的开源建站工具——Halo 2.0
早在很久之前,咕咕就发布过Halo博客的视频,当时是因为Hexo没有后台,编辑起来有点麻烦,在众多博客框架里面,偶然找到的Halo。
二十五画生
2023/03/14
3.6K1
【好玩儿的Docker项目】好用又强大的开源建站工具——Halo 2.0
【docker】一个简单好用的直播录制工具 | bililive-go
GitHub地址:hr3lxphr6j/bililive-go: 一个直播录制工具
夜梦星尘
2024/11/12
7600
【docker】一个简单好用的直播录制工具 | bililive-go
【好玩儿的Docker项目】10分钟部署一个类似知乎的开源问答平台——Answer
Answer是一个类似知乎的开源问答社区。支持Docker部署,目前GitHub拥有5.4K的star。
二十五画生
2023/01/16
3.9K0
【好玩儿的Docker项目】10分钟部署一个类似知乎的开源问答平台——Answer
给 Nginx 站点套上一层 Cloudflare
  站点访问速度及安全一直以来都是站长们建站所关注的重要内容。为了满足站点能够被全球用户的访问需求,通常我们会采用云服务商提供的 CDN 来加速访问速度。比如国外比较知名的 AWS 提供的 Cloudfront、GCP 提供的 Cloud CDN 以及 Cloudflare 公司提供的 Cloudflare 等,国内比较知名的腾讯云提供的 CDN、阿里云提供的 CDN、又拍云提供的 CDN 以及七牛云提供的 CDN 等。(PS:其实国内的其他云服务商比如华为云、百度云、滴滴云、京东云等等都提供了 CDN 解决方案。)
zhonger
2022/10/28
2.5K0
给 Nginx 站点套上一层 Cloudflare
【docker】给你的网站添加聊天对话框 | Chatwoot的部署与使用
项目官网:Deploy your self-hosted Chatwoot server | Chatwoot
夜梦星尘
2024/08/20
1K1
【docker】给你的网站添加聊天对话框 | Chatwoot的部署与使用
【docker】搭建一个”联邦宇宙”——Misskey
misskey是一个去中心化微博,你可以搭建自己的实例,也可以加入其他人的实例。经过这两年的发展,夜梦觉得它已经算是一个比较成熟的程序了~
夜梦星尘
2024/08/20
5310
【docker】搭建一个”联邦宇宙”——Misskey
【docker】域名SSL证书监测平台 | domain-admin
Domain Admin是一个轻量级监控方案,占用系统资源较少。能够帮助你管理不同网站的SSL证书,在证书即将过期的时候进行提醒,对于Let’s Encrypt证书还可以自动续期。可以很好的解决SSL证书过期导致网站无法正常访问的问题了~
夜梦星尘
2024/08/20
4260
【docker】域名SSL证书监测平台 | domain-admin
Docker Compose 项目打包部署
参考官方:https://docs.docker.com/compose/compose-file/
IT茂茂
2020/03/19
5.6K0
[Gitea][docker]自托管Git服务程序 | Gitea搭建/使用教程
本文发布于395天前,最后更新于155天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。
夜梦星尘
2024/08/20
8160
[Gitea][docker]自托管Git服务程序 | Gitea搭建/使用教程
【docker】多功能、内置编辑的图床 | Picsur
在开始部署之前,你需要安装 docker 和 docker-compose。具体安装见:【docker】在服务器上安装 docker/docker-compose
夜梦星尘
2024/08/20
2680
【docker】多功能、内置编辑的图床 | Picsur
推荐阅读
相关推荐
短网址程序YOURLS安装及配置教程与设置中文
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验