一.介绍
介绍完了之前的YOURLS这次我们来介绍下Polr,相比于YOURLS这种要么自己用,要么自己二次开发来对外提供服务,Polr可能更加倾向于开箱即用,没有太多的设定和插件,也没用什么需要自己修改代码的地方,就是这样,安装,然后使用。
参考下Demo,感觉还是不错的
地址: http://demo.polr.me/
用户名: demo-admin
密码: demo-admin
二.安装
所以不说别的了,赶紧来搭个玩玩。对了,照例说一下环境要求
依赖程序:
- Apache, nginx, IIS, or lighttpd (官方推荐Apache)
- PHP >= 5.5.9
- MariaDB or MySQL >= 5.5, SQLite alternatively (SQlite如果对外开放使用不建议,如果用的人多可能性能不足,当然好处是方便)
- composer
PHP要求:
- OpenSSL PHP Extension
- PDO PHP Extension
- PDO MySQL Driver (php5-mysql on Debian & Ubuntu, php5x-pdo_mysql on FreeBSD)
- Mbstring PHP Extension
- Tokenizer PHP Extension
- JSON PHP Extension
- PHP curl extension
我们依旧使用LNMP的环境,LAMP的差不多,只是不需要像Nginx一样自己配置伪静态,所以不说了。
依旧配置环境,新建vhost,创建数据库和用户都不提了
#进入vhost设置的网站根目录 cd /path/to/vhost/root git clone https://github.com/cydrobolt/polr.git --depth=1 . #如果开着selinux请运行这个,当然我其实建议关闭selinux,不然太麻烦 chcon -R -t httpd_sys_rw_content_t storage .env #获取composer,你装过了的话请跳过 #这儿的php路径请自行确认 curl -sS https://getcomposer.org/installer | /usr/local/php/bin/php mv composer.phar /usr/local/bin/composer #使用composer安装依赖 rm composer.lock composer install --no-dev -o #修改文件所有者 chown -R www:www * .* #复制一份默认配置,不用改,后面安装的时候会自动修改 cp .env.setup .env
按照要求,我们需要把vhost的根目录修改为public文件夹,参照如下
Apache(另外请确保启用mod_rewrite)
<VirtualHost *:80> ServerName gto.ee ServerAlias www.gto.ee DocumentRoot "/var/www/polr/public" <Directory "/var/www/polr/public"> Require all granted Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
Nginx
server { listen 80; server_name gto.ee www.gto.ee; access_log off; index index.html index.htm index.php; root /data/wwwroot/gto.ee/public; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } location ~ /\.ht { deny all; } }
我只是测试,所以没有加https啥的,你要的话自己参照着改,主要就是添加那个第一条的rewrite用的location规则,以及修改root,把目录后面加上public
PS.域名别忘记改了
然后重启nginx,访问http://域名/setup/
如果正确的话就安装成功了
前往登陆,登陆主要是管理用户和查看当前短链,如果在安装向导的时候启用了分析功能的话能看到
一切OK
分析界面大概是这样,当然,如果想要时间正确请设置PHP的时区为PRC,并且它这个GeoIP库可能有点问题,可能需要你研究下更新
如果希望获得更多的功能,那么还是YOURLS更好,配合各种插件以及利用API二次开发能够达到相当好的效果,但是,如果你只是简单的需要一个属于自己的短链服务,那么Polr可能是你所需要的。
文章评论
这个分析界面是需要打开开发模式才有吗?我好像没有找到。
@Zvonimir 哦,抱歉,我找到了。
曾经自己写了一个简单的,直到有一天,被人拿来用GET多线程批量提交(没有放任何的验证,包括连URL有效性检查都没有)
一夜刷了我接近10G的mysql数据
把1位的别名,拽到了20多位。
还好是群里的人,私聊以后停了。
做短链要有心理准备
希望Polr能有验证限制提交....
@安歌 应该有验证,不过我没太在意
请问博主这个怎么使用sqlite呢?我安装好一进配置,就是让填MySQL的信息,根本没有sqlite的选项。
可以批量生成吗?每次都要生成1000个,一个一个的提交太慢了