Linux服務(wù)使用寶塔面板搭建網(wǎng)站并發(fā)布公網(wǎng)訪問
前言
寶塔面板作為簡(jiǎn)單好用的服務(wù)器運(yùn)維管理面板,它支持Linux/Windows系統(tǒng),我們可用它來一鍵配置LAMP/LNMP環(huán)境、網(wǎng)站、數(shù)據(jù)庫(kù)、FTP等,通過Web端輕松管理服務(wù)器。
以下教程,我們將演示使用寶塔面板快速簡(jiǎn)單搭建本地web網(wǎng)站,并做內(nèi)網(wǎng)穿透,實(shí)現(xiàn)不在同個(gè)局域網(wǎng)下的用戶也可以訪問到本地web站點(diǎn),無(wú)需公網(wǎng)IP,也不用設(shè)置路由器。
1. 環(huán)境安裝
安裝apache服務(wù)器,在寶塔面板中我們點(diǎn)擊網(wǎng)站,然后會(huì)提示安裝apache服務(wù)器。
選擇極速安裝
然后等待安裝完成即可,安裝完成在左邊消息列表會(huì)提示
2. 安裝cpolar內(nèi)網(wǎng)穿透
- 打開寶塔終端命令窗口,使用cpolar一件安裝腳本:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- token認(rèn)證
登錄cpolar官網(wǎng),點(diǎn)擊左側(cè)的 驗(yàn)證
,查看自己的認(rèn)證token,之后將token貼在命令行里
cpolar authtoken xxxxxxx
- 向系統(tǒng)添加服務(wù)
sudo systemctl enable cpolar
- 啟動(dòng)cpolar服務(wù)
sudo systemctl start cpolar
- 開放9200端口
在寶塔面板中選擇安全.然后開放9200端口
- 登錄cpolar web UI 管理界面
然后局域網(wǎng)ip訪問9200端口即可出現(xiàn)cpolar管理界面,輸入cpolar郵箱賬號(hào)進(jìn)行登陸
3. 內(nèi)網(wǎng)穿透
登錄cpolar web UI管理界面后,我們創(chuàng)建一個(gè)http隧道,指向80端口,因?yàn)閍pache服務(wù)默認(rèn)是80端口
隧道名稱:可自定義,注意不要重復(fù)
- 協(xié)議:http
- 本地地址:80
- 端口類型:隨機(jī)域名
- 地區(qū):China vip
點(diǎn)擊 創(chuàng)建
創(chuàng)建成功后我們打開在線隧道列表復(fù)制創(chuàng)建的公網(wǎng)地址
然后我們打開寶塔面板,點(diǎn)擊網(wǎng)站,選擇添加站點(diǎn),把復(fù)制的公網(wǎng)地址粘貼到域名的參數(shù)框,然后點(diǎn)擊提交
這個(gè)時(shí)候我們可以看到站點(diǎn)創(chuàng)建成功
然后我們?cè)偈褂脧?fù)制的公網(wǎng)地址,打開瀏覽器訪問,出現(xiàn)歡迎頁(yè)表示成功
4. 固定http地址
由于剛剛創(chuàng)建隧道使用的是隨機(jī)臨時(shí)地址,該地址會(huì)在24小時(shí)內(nèi)發(fā)生變化,為了長(zhǎng)期遠(yuǎn)程訪問,我們接下來將這個(gè)公網(wǎng)地址配置為固定的。
需升級(jí)至基礎(chǔ)套餐或以上才支持配置二級(jí)子域名
登錄cpolar官網(wǎng)后臺(tái),點(diǎn)擊左側(cè)儀表盤的 預(yù)留
,找到 保留二級(jí)子域名
,為http隧道保留一個(gè)二級(jí)子域名。
- 地區(qū):選擇服務(wù)器地區(qū)
- 名稱:填寫您想要保留的二級(jí)子域名(可自定義)
- 描述:即備注,可自定義填寫
本例保留一個(gè)名稱為 mywebsitegame
的二級(jí)子域名。子域名保留成功后,我們將子域名復(fù)制下來,接下來需要將其配置到隧道中去。
5. 配置二級(jí)子域名
登錄cpolar web ui管理界面。點(diǎn)擊左側(cè)儀表盤的 隧道管理
—— 隧道列表
,找到需要配置二級(jí)子域名的隧道(本例中為apache website隧道),點(diǎn)擊右側(cè)的 編輯
修改隧道信息,將二級(jí)子域名配置到隧道中:
- 域名類型:改為選擇
二級(jí)子域名
- Sub Domain:填寫我們剛剛所保留的二級(jí)子域名(本例為
mywebsitegame
)
修改完成后,點(diǎn)擊 更新
隧道更新成功后,點(diǎn)擊左側(cè)儀表盤的 狀態(tài)
—— 在線隧道列表
,可以看到隧道的公網(wǎng)地址,已經(jīng)更新為二級(jí)子域名了,將公網(wǎng)地址復(fù)制下來。
然后我們打開寶塔面板,找到站點(diǎn),點(diǎn)擊設(shè)置
添加一個(gè)我們固定的公網(wǎng)地址域名
然后把之前創(chuàng)建的隨機(jī)地址刪除
然后我們打開瀏覽器,使用固定的公網(wǎng)地址進(jìn)行訪問,以上我們就配置好了站點(diǎn)遠(yuǎn)程訪問
6. 創(chuàng)建一個(gè)測(cè)試頁(yè)面
點(diǎn)擊站點(diǎn)根目錄路徑,直接點(diǎn)擊
新建一個(gè)名字為game.html頁(yè)面
然后雙擊文件編輯,把下面代碼復(fù)制進(jìn)去(貪吃蛇小游戲),然后Ctrl+S保存
<!DOCTYPE html> <html> <head> <title>貪吃蛇</title> <meta charset="UTF-8"> <meta name="keywords" content="貪吃蛇"> <meta name="Description" content="這是一個(gè)初學(xué)者用來學(xué)習(xí)的小游戲"> <style type="text/css"> *{margin:0;} .map{margin:100px auto; height:600px; width:900px; background:#00D0FF; border:10px solid #AFAEB2; border-radius:8px; } </style> </head> <body> <div class="map"> <canvas id="canvas" height="600" width="900"> </canvas> </div> <script type="text/javascript"> //獲取繪制工具 /* var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d");//獲取上下文 ctx.moveTo(0,0); ctx.lineTo(450,450);*/ var c=document.getElementById("canvas"); var ctx=c.getContext("2d"); /*ctx.beginPath(); ctx.moveTo(0,0); ctx.lineTo(450,450); ctx.stroke(); */ var snake =[];//定義一條蛇,畫蛇的身體 var snakeCount = 6;//初始化蛇的長(zhǎng)度 var foodx =0; var foody =0; var togo =0; function drawtable()//畫地圖的函數(shù) { for(var i=0;i<60;i++)//畫豎線 { ctx.strokeStyle="black"; ctx.beginPath(); ctx.moveTo(15*i,0); ctx.lineTo(15*i,600); ctx.closePath(); ctx.stroke(); } for(var j=0;j<40;j++)//畫橫線 { ctx.strokeStyle="black"; ctx.beginPath(); ctx.moveTo(0,15*j); ctx.lineTo(900,15*j); ctx.closePath(); ctx.stroke(); } for(var k=0;k<snakeCount;k++)//畫蛇的身體 { ctx.fillStyle="#000"; if (k==snakeCount-1) { ctx.fillStyle="red";//蛇頭的顏色與身體區(qū)分開 } ctx.fillRect(snake[k].x,snake[k].y,15,15);//前兩個(gè)數(shù)是矩形的起始坐標(biāo),后兩個(gè)數(shù)是矩形的長(zhǎng)寬。 } //繪制食物 ctx.fillStyle ="black"; ctx.fillRect(foodx,foody,15,15); ctx.fill(); } function start()//定義蛇的坐標(biāo) { //var snake =[];//定義一條蛇,畫蛇的身體 //var snakeCount = 6;//初始化蛇的長(zhǎng)度 for(var k=0;k<snakeCount;k++) { snake[k]={x:k*15,y:0}; } drawtable(); addfood();//在start中調(diào)用添加食物函數(shù) } function addfood() { foodx = Math.floor(Math.random()*60)*15; //隨機(jī)產(chǎn)生一個(gè)0-1之間的數(shù) foody = Math.floor(Math.random()*40)*15; for (var k=0;k<snake;k++) { if (foodx==snake[k].x&&foody==sanke[k].y)//防止產(chǎn)生的隨機(jī)食物落在蛇身上 { addfood(); } } } function move() { switch (togo) { case 1: snake.push({x:snake[snakeCount-1].x-15,y:snake[snakeCount-1].y}); break;//向左走 case 2: snake.push({x:snake[snakeCount-1].x,y:snake[snakeCount-1].y-15}); break; case 3: snake.push({x:snake[snakeCount-1].x+15,y:snake[snakeCount-1].y}); break; case 4: snake.push({x:snake[snakeCount-1].x,y:snake[snakeCount-1].y+15}); break; case 5: snake.push({x:snake[snakeCount-1].x-15,y:snake[snakeCount-1].y-15}); break; case 6: snake.push({x:snake[snakeCount-1].x+15,y:snake[snakeCount-1].y+15}); break; default: snake.push({x:snake[snakeCount-1].x+15,y:snake[snakeCount-1].y}); } snake.shift();//刪除數(shù)組第一個(gè)元素 ctx.clearRect(0,0,900,600);//清除畫布重新繪制 isEat(); isDead(); drawtable(); } function keydown(e) { switch(e.keyCode) { case 37: togo=1; break; case 38: togo=2; break; case 39: togo=3; break; case 40: togo=4; break; case 65: togo=5; break; case 68: togo=6; break; } } function isEat()//吃到食物后長(zhǎng)度加1 { if(snake[snakeCount-1].x==foodx&&snake[snakeCount-1].y==foody) { addfood(); snakeCount++; snake.unshift({x:-15,y:-15}); } } //死亡函數(shù) function isDead() { if (snake[snakeCount-1].x>885||snake[snakeCount-1].y>585||snake[snakeCount-1].x<0||snake[snakeCount-1].y<0) { window.location.reload(); } } document.onkeydown=function(e) { keydown(e); } window.onload = function()//調(diào)用函數(shù) { start(); setInterval(move,150); drawtable(); } </script> </body> </html>
然后我們?yōu)g覽器使用公網(wǎng)地址加這個(gè)html文件訪問,即可看到我們部署的小游戲。
以上就是Linux服務(wù)使用寶塔面板搭建網(wǎng)站并通過內(nèi)網(wǎng)穿透實(shí)現(xiàn)公網(wǎng)訪問的詳細(xì)內(nèi)容,更多關(guān)于Linux服務(wù)搭建網(wǎng)站并發(fā)布訪問的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
CentOS 7.2安裝Nginx 1.10.2的詳細(xì)教程
最近公司要切換VPS,所以打算使用最新的系統(tǒng)進(jìn)行搭建LNMP,這篇文章是為CentOS 7.2安裝Nginx 1.10.2的安裝記錄,記錄下以便下次或者有需要的朋友們參考使用。下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11linux服務(wù)器用centos還是ubuntu系統(tǒng)
兩者同為目前版本中個(gè)人和小團(tuán)隊(duì)常用的服務(wù)級(jí)操作系統(tǒng),在線提供的軟件庫(kù)中可以很方便的安裝到很多開源的軟件及庫(kù),不過問了多年維護(hù)服務(wù)器的朋友多用centos系統(tǒng)2012-12-12