無聊搭建一個功能實用的網址縮短程序

網上其實有各式各樣的網址縮短工具,有收費的有免費,為什麼我還要搭建一個呢,無他,一是為了裝裝逼,二是自己需要的功能剛好可以實現,就動手做了一個了,不難,不懂代碼的都可以搭建,下面分享一下搭建過程。

前期準備:

  1. 一台服務器;
  2. 一個短一點的域名;

說一下我用的配置,服務器是騰訊的香港CVM,當然你用阿里雲的ECS也可以,不影響,操作都是一樣的;
我域名是阿里雲的二級域名,短的域名不捨得花錢買,就用了比較長的d.funletu.com二級域名了,沒辦法,誰叫咱窮呢,
你要做的就是把二級域名解析到你的服務器上,關於這個不懂的可以網上搜索一下,很簡單的。

為了方便操作,這裡建議大家還是在服務器上安裝寶塔,不懂的可以看這篇文章《雲服務器如何安裝寶塔面板》,我下面的操作都會在寶塔面板上完成。

開始搭建

首先,搭建短網址程序還需要藉助國外一套開源的程序—Polr

別擔心,這套程序別人都已經開發好了,無需懂代碼,你只要把它安裝到你的服務器就可以了;

Polr功能介紹

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

因為這套程序是開源免費的,而且功能實用,所以用它來搭建,當然,你也可以用Yourls這套程序搭建,只是功能上就遜色得多,Yourls僅支持鏈接縮短。

安裝方法

1、安裝Web環境

我們要先在寶塔上安裝Web環境,我安裝的是LNMP環境,即Linux/Nginx/MySQL/PHP;當然,你也可以用LAMP環境搭建(和LNMP環境下的操作大致一樣,可以參考這份英文教程,反正我是看不懂,我只在LNMP環境下搭建成功);

環境搭建好之後,就需要可以開始安裝Polr了;

2、添加網站並下載程序

添加域名,並進入網站根目錄,使用命令:

cd /www/wwwroot/xx.com
#下載官方源碼
git clone https://github.com/cydrobolt/polr.git
mv polr/{.,}* ./

注意:要在網站根目錄安裝,xx.com要替換為你的網站根目錄文件夾名稱

另外,這裡我沒有裝中文漢化版,因為漢化版的源碼太舊了,二維碼功能沒有加上,所以我用的是官方源碼,如果你仍然想安裝中文版的,把git命令替換一下就行

安裝中文漢化版:
git clone https://github.com/cydrobolt/polr.git
#替換為
git clone https://github.com/skywalker512/polr.git

3、使用Composer安裝

#安裝Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

#進入網站根目錄運行
composer install --no-dev -o

這一步很簡單,跟着粘貼命令即可,等待安裝直到出現Generating optimized autoload files

如果有報錯需要檢查是不是哪個函數沒有開放,一般會有提示。

4、編輯文件

.env.setup創建一個名為.env的副本。

cp.env.setup .env

5、偽靜態
在寶塔面板上直接點擊網站-設置-網站目錄,選擇/public文件夾,然後在偽靜態那裡填入以下代碼:

location / {
            try_files uri $uri/ /index.php$is_args$args;
}

最後,授權根目錄所有文件,再重啟一下Nginx就算完成了,然後訪問http://xx.com/setup設置就可以了。

最終搭建好的樣子>>https://d.funletu.com/(被攻擊數據已丟失)

搭建過程可能會出錯,我也不是一次就搭建好,如果出錯了,清空網站根目錄文件,重新按照1,2,3,4,5的步驟安裝即可;

其它操作

1、修改設置
是的,你沒看錯設置僅能通過.env這個文件修改。

2、通過CDN獲取真實IP
若使用Cloudflare,請在vender/autoload.php的第6行加入:

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}

其他CDN請自行查找。

3、設置時區
.env文件的最後加入:

APP_TIMEZONE=Asia/Shanghai

4、手動漢化

由於Polr源碼沒有中文版,需要漢化時,可以修改 /resources/views 和 /public/js 文件夾中的文件信息。

給TA打賞
共{{data.count}}人
人已打賞
工具類教程類網址類

微雲不限速下載方法+免費擴容

2020-3-2 10:53:53

工具類教程類網址類

如何給Youtube免費又安全刷粉?

2020-3-5 11:36:05

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
個人中心
今日簽到
有新私信 私信列表
搜索