使用基于 PHP 的开源软件 YOURLS 搭建短链接地址服务
使用基于 PHP
的开源软件 YOURLS搭建
系统配置 php7.1+mysql5.7+nginx
下载源代码
git clone https://github.com/YOURLS/YOURLS.git
cd YOURLS
mv user/config-sample.php user/config.php
修改config.php里面的配置参数,依据自己的环境自行修改
define( 'YOURLS_DB_USER', 'root' );
define( 'YOURLS_DB_PASS', '123456' );
define( 'YOURLS_DB_NAME', 'yourls' );
define( 'YOURLS_DB_HOST', 'localhost' );
define( 'YOURLS_DB_PREFIX', 'yourls_' );
//上面是数据信息不用多说
define( 'YOURLS_SITE', 'http://test.com' ); //你自己服务器的域名 用最短的,短地址也是基于这个生成。
define( 'YOURLS_HOURS_OFFSET', '+8'); //时区偏移
define( 'YOURLS_LANG', 'zh_CN' ); //这个语言默认是英文,没有中文包,需要自己去 https://github.com/guox/yourls-zh_CN/下载,放到 user/languages 里面
define( 'YOURLS_UNIQUE_URLS', true ); //短地址是否唯一
define( 'YOURLS_PRIVATE', true ); //是否私有,如果私有的,则进行api调用生成短地址时需要传递用户名和密码
define( 'YOURLS_COOKIEKEY', 'A2C7&H~r80pTps{nIfI8VFpTxnfF3c)j@J#{nDUh' );//加密cookie 去 http://yourls.org/cookie 获取
$yourls_user_passwords = array(
'admin' => '123456' /* Password encrypted by YOURLS */ , //用户名=>密码 可填多个 登录成功后这里的明文密码会被加密
);
define( 'YOURLS_DEBUG', false ); //是否开启调试
define( 'YOURLS_URL_CONVERT', 62 ); //使用36进制 还是62进制 这个最好一开始设好不要修改,避免地址冲突,建议62进制
$yourls_reserved_URL = array(
'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick', //排除一下短地址,这些地址是不会生成的
);
配置nginx,这里域名以test.com为例
server {
listen 80;
server_name test.com;
root /www/YOURLS/;
index index.php;
location / {
try_files $uri $uri/ /yourls-loader.php$is_args$args;
}
location ~ \.php$ {
root /www/YOURLS/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启nginx
访问 http://test.com/admin 选择安装 会提示安装成功
短地址默认是是按照顺序生成,从1开始,有可能我们想不按照这样顺序,可以推荐用时间戳来生成
只需要修改 includes/functions.php 272行左右
将 $id = yourls_get_next_decimal(); 改为 $id = time();
api接口生成
请求地址:http://域名//yourls-api.php
参数:username(用户名)、password(密码)、format(格式 json)、url(长地址)、action(功能,shorturl)
返回:
{ "url": { "keyword": "1H7fa7", "url": "http://www.baidu.com/download/index.html?player_id=2", "title": "下载页面", "date": "2019-03-22 08:04:23", "ip": "127.0.0.1" }, "status": "success", "message": "http://www.baidu.com/download/index.html?player_id=2 已保存为", "title": "下载页面", "shorturl": "http://test.com/1H7fa7", "statusCode": 200 }
上面的 shorturl 就是生成的短链接,也可以在后台直接生成指定的短链接。
每个短链接后面拼接一个 + ,就可以查看这个链接的点击情况,例如:http://test.com/1H7fa7+
shorturl
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Bash中尖括号的更多使用方法
- linux mpstat命令使用详解
- CentOS7安装调试Mysql数据库的步骤详解【实例】
- 深入理解Bash中的尖括号(适合初学者)
- linux安装php7的方法详解
- centos7.2搭建nginx的web服务器部署uniapp项目
- 通过 SSH 在远程 Linux 系统上运行命令的方法
- 详解Linux Namespace之User
- Centos7.0安装ceph(JEWEL)及以上版本的实例解析
- 详解Linux内核进程调度函数schedule()的触发和执行时机
- Linux下使用SSH远程执行命令方法收集
- 详解Centos7.2编译安装zabbix3.2(详细步骤)
- Linux下误删messages文件的找回方法
- 自制YUM仓库的步骤讲解
- 解决centos7中tomcat启动与本机访问问题