世界上最好的語言搭建短連結及統計功能
在這個營銷的時代,短連結和二維碼是企業進行營銷中非常重要的工具,不僅僅是縮短了連結,而且還可以透過擴充套件獲得更多的資料,諸如點選數、下載量、來源以及時間等等。
網上搜尋了一下比較有名有U.NU和0x3.me,但前者只能統計點選次數,而且不能修改連結,後者功能豐富,但確是收費商業網站。
環境搭建本安裝指南將幫助您安裝Polr 2.0的最新版本Polr 2.0。Polr 是一個開源軟體、世界上最好的語言,功能還算強大。
功能包括
- 修改縮短的域名
- 統計功能(來源,時間)
- 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
wget
安裝libxml2和libxml2-devel
yum -y install libxml2
yum -y install libxml2-devel
因為不同的作業系統環境,系統安裝開發環境包的完整程度也不相同,所以建議安裝作業系統的時候做必要選擇,也可以統一執行一遍所有的命令,將沒有安裝的元件安裝好,如果已經安裝了可能會進行升級,版本完全一致則不會進行任何操作,命令除上面2個之外,彙總如下:
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
然後執行編譯:
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 --depth=1
#你也可以下載碼雲中國漢化版
$ git clone
$ chmod -R 755 polr
$ chown -R www-data polr
$ cd polr
$ cp .env.setup .env
Composer 安裝
切換到 polr目錄下
# download composer package
curl -sS | 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
解壓並重新命名:
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;
}
}
安裝執行 進入 進行安裝,設定一些相關選項即可
安裝成功,首頁:
後臺管理:
短連結演示網址:
Polr API文件API金鑰
要將使用者認證為Polr,您需要提供一個API金鑰以及對Polr API的每個請求,作為GET或POST引數。(例如?key=API_KEY_HERE)
分配API金鑰
要分配API金鑰,請從管理員帳戶登入,轉到“管理員”選項卡,然後滾動到所需的使用者。從那裡,您可以開啟API按鈕下拉選單來重置,建立或刪除使用者的API金鑰。您還將被提示設定所需的API配額。這被定義為每分鐘的請求。您可以透過使配額成為負數來允許無限制的請求。一旦使用者收到API金鑰,他們將能夠在其使用者皮膚中看到一個“API”選項卡,該選項卡提供了與API進行互動所需的資訊。
操作
操作作為網址中的細分受眾群傳遞。目前有兩項行動得到執行:
- shorten - 縮短網址
- lookup - 查詢縮短的URL的目的地
演示
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2459/viewspace-2799774/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP是世界上最好的語言PHP
- PHP還是世界上最好的語言嗎?PHP
- Scala是世界上最好的語言(一):Type Bound
- 世界上最好的語言PHP已在我掌控之下PHP
- 它是世界上最好的語言,吊打PHP那種PHP
- 世界上最好的語言PHP 爆出高危漏洞:你信嗎?PHP
- 為什麼有人說中文是世界上最好的語言?
- 雙向迴圈連結串列及各功能函式設計(C語言)函式C語言
- 「小碼短連結」好用、好看、有統計報表的短連結工具
- 用世界上最好的語言開發自動化注入工具
- 世界上最好的語言PHP:我也可以用OpenCV搞計算機視覺PHPOpenCV計算機視覺
- 短連結系統的設計與實現
- JS是世界上最好的語言—— 使用Electron開發桌面應用(一)JS
- 用“世界上最好的程式語言”製作的敲詐者木馬揭秘
- 短連結URL系統是怎麼設計的?
- 用“世界上最好的程式語言”製作的敲詐者木馬揭祕
- 2017.11程式語言排行:Java第一Python第四,世界上最好的語言兩個零JavaPython
- PHP是最好的語言!PHP
- 線上生成短連結的原因及實現工具
- JavaScript:世界上誤解最深的語言JavaScript
- 雙向連結串列介面設計(C語言)C語言
- Go 語言介面及使用介面實現連結串列插入Go
- C語言 連結串列排序C語言排序
- “c語言+結構體+連結串列”實現名片系統C語言結構體
- Go 語言 結構體連結串列Go結構體
- 如何設計一門語言(十一)——刪減語言的功能
- C語言/C++程式設計學習—資料結構—連結串列類的宣告及定義C語言C++程式設計資料結構
- 《JAVA語言程式設計》pdf 附下載連結Java程式設計
- 使用Go語言開發一個短連結服務:一、基本原理Go
- “最好的語言” PHP 如何造就 Facebook?PHP
- C語言線性連結串列C語言
- C語言實現連結串列C語言
- 易語言連結資料庫資料庫
- 奇樂短影片開發功能丨奇樂短影片直播系統開發技術丨python技術語言Python
- 為什麼我是世界上最好的程式設計師?程式設計師
- 單向迴圈連結串列介面設計(C語言)C語言
- 資料結構筆試題——基於C語言的連結串列功能函式實現資料結構筆試C語言函式
- C語言之父Dennis Ritchie告訴你:如何成為世界上最好的程式設計師?C語言程式設計師