世界上最好的語言搭建短連接及統計功能(附API代碼)

前言

在這個營銷的時代,短連接和二維碼是企業進行營銷中很是重要的工具,不只僅是縮短了連接,並且還能夠經過擴展得到更多的數據,諸如點擊數、下載量、來源以及時間等等。php

網上搜尋了一下比較有名有U.NU和0x3.me,但前者只能統計點擊次數,並且不能修改連接,後者功能豐富,但確是收費商業網站。html

環境搭建

本安裝指南將幫助您安裝Polr 2.0的最新版本Polr 2.0。Polr 是一個開源軟件、世界上最好的語言,功能還算強大。mysql

功能包括

  • 修改縮短的域名
  • 統計功能(來源,時間)
  • API支持
  • 二維碼生成

服務器要求

  • Apache, nginx, IIS, or lighttpd (Apache preferred)
  • PHP >= 5.5.9
  • MariaDB or MySQL >= 5.5, SQLite alternatively
  • composer
  • PHP requirements:
    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

安裝PHP

PHP http://php.net/downloads.phpnginx

wget http://ba1.php.net/get/php-5.6.34.tar.gz/from/this/mirrorgit

安裝libxml2和libxml2-develgithub

yum -y install libxml2
yum -y install libxml2-devel

由於不一樣的操做系統環境,系統安裝開發環境包的完整程度也不相同,因此建議安裝操做系統的時候作必要選擇,也能夠統一執行一遍全部的命令,將沒有安裝的組件安裝好,若是已經安裝了可能會進行升級,版本徹底一致則不會進行任何操做,命令除上面2個以外,彙總以下:web

yum -y install libxml2
yum -y install libxml2-devel
yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  mysql pcre-devel

安裝完成以後,執行配置:算法

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip

而後執行編譯:sql

make

編譯時間可能會有點長,編譯完成以後,執行安裝:後端

make install

php的默認安裝位置上面已經指定爲/usr/local/php,接下來配置相應的文件:

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

而後設置php.ini,使用: vi /usr/local/php/lib/php.ini 打開php配置文件找到cgi.fix_pathinfo配置項,這一項默認被註釋而且值爲1,根據官方文檔的說明,這裏爲了當文件不存在時,阻止Nginx將請求發送到後端的PHP-FPM模塊,從而避免惡意腳本注入的攻擊,因此此項應該去掉註釋並設置爲0

建立web用戶:

groupadd www-data
useradd -g www-data www-data

修改php-fpm.conf添加以上建立的用戶和組,這時候使用 vi /usr/local/etc/php-fpm.conf 打開文件後找到官方所提示的位置:

user  = www-data
group = www-data

執行如下命令啓動php-fpm服務:

php-fpm

啓動完畢以後,php-fpm服務默認使用9000端口,使用 netstat -tln | grep 9000 能夠查看端口使用狀況。
你也可使用 ps -ef|grep php 命令查看進程。

中止 php-fpm

killall php-fpm

下載源代碼

若是你想下載一個穩定版本的Polr,你能夠查看發佈頁面

$ cd /var/www
$ git clone https://github.com/cydrobolt/polr.git --depth=1
#你也能夠下載碼雲中國漢化版
$ git clone https://gitee.com/skywalker512/polr.git
$ chmod -R 755 polr
$ chown -R www-data polr
$ cd polr
$ cp .env.setup .env

Composer 安裝

切換到 polr目錄下

# download composer package
curl -sS https://getcomposer.org/installer | php
# update/install dependencies
php composer.phar install --no-dev -o

若是因爲PHP版本的緣由,編寫器沒法安裝適當的依賴項,請刪除composer.lock 並從新嘗試安裝依賴項。

rm composer.lock
php composer.phar install --no-dev -o

Nginx 安裝

推薦您使用yum安裝如下的開發庫:

yum install readline-devel pcre-devel openssl-devel -y

Docker容器還可能要安裝:

yum install wget perl gcc -y

下載最新版本:

wget https://openresty.org/download/openresty-1.11.2.4.tar.gz

解壓並重命名:

tar -xvf openresty-1.11.2.4.tar.gz
mv openresty-1.11.2.4 openresty

安裝配置:

./configure

您可使用下面的命令來編譯安裝:

make && make install

若是您的電腦支持多核 make 工做的特性, 您能夠這樣編譯安裝:

make && make install   -j2

爲了方便啓動,創建軟鏈接:

ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx

配置文件

vi /usr/local/openresty/nginx/conf/nginx.conf
server {        
        listen 80; 
        listen 443 ssl;
        server_name polr.52itstyle.com;
        index index.php;
        #證書路徑
        ssl_certificate    /usr/local/openresty/nginx/cert/214545352540632.pem;
        #私鑰路徑
        ssl_certificate_key  /usr/local/openresty/nginx/cert/214545352540632.key;
        #緩存有效期
        ssl_session_timeout 5m;
        #可選的加密算法,順序很重要,越靠前的優先級越高.
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        #安全連接可選的加密協議
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        root   /var/www/polr/public;
        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
            try_files $uri =404;
            include        fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index   index.php;
            fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param   HTTP_HOST       $server_name;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

安裝運行

進入https://polr.52itstyle.com/setup 進行安裝,設置一些相關選項便可

安裝成功,首頁:

後臺管理:

短連接演示網址:https://polr.52itstyle.com/

Polr API文檔

API密鑰

要將用戶認證爲Polr,您須要提供一個API密鑰以及對Polr API的每一個請求,做爲GET或POST參數。(例如?key=API_KEY_HERE)

分配API密鑰

要分配API密鑰,請從管理員賬戶登陸,轉到「管理員」選項卡,而後滾動到所需的用戶。從那裏,您能夠打開API按鈕下拉菜單來重置,建立或刪除用戶的API密鑰。您還將被提示設置所需的API配額。這被定義爲每分鐘的請求。您能夠經過使配額成爲負數來容許無限制的請求。一旦用戶收到API密鑰,他們將可以在其用戶面板中看到一個「API」選項卡,該選項卡提供了與API進行交互所需的信息。

操做

操做做爲網址中的細分受衆羣傳遞。目前有兩項行動獲得執行:

  • shorten - 縮短網址
  • lookup - 查找縮短的URL的目的地

演示

碼雲API代碼:https://gitee.com/52itstyle/short_url

相關文章
相關標籤/搜索