最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux服務(wù)使用寶塔面板搭建網(wǎng)站并發(fā)布公網(wǎng)訪問

 更新時間:2023年08月15日 10:05:25   作者:西蘭花也是花  
寶塔面板作為簡單好用的服務(wù)器運維管理面板,它支持Linux/Windows系統(tǒng),本文我們將演示使用寶塔面板快速簡單搭建本地web網(wǎng)站,并做內(nèi)網(wǎng)穿透,實現(xiàn)不在同個局域網(wǎng)下的用戶也可以訪問到本地web站點,無需公網(wǎng)IP,也不用設(shè)置路由器,需要的朋友可以參考下

前言

寶塔面板作為簡單好用的服務(wù)器運維管理面板,它支持Linux/Windows系統(tǒng),我們可用它來一鍵配置LAMP/LNMP環(huán)境、網(wǎng)站、數(shù)據(jù)庫、FTP等,通過Web端輕松管理服務(wù)器。

以下教程,我們將演示使用寶塔面板快速簡單搭建本地web網(wǎng)站,并做內(nèi)網(wǎng)穿透,實現(xiàn)不在同個局域網(wǎng)下的用戶也可以訪問到本地web站點,無需公網(wǎng)IP,也不用設(shè)置路由器。

1. 環(huán)境安裝

安裝apache服務(wù)器,在寶塔面板中我們點擊網(wǎng)站,然后會提示安裝apache服務(wù)器。

image-20230307143843485

選擇極速安裝

image-20230307155129355

然后等待安裝完成即可,安裝完成在左邊消息列表會提示

image-20230307155221216

2. 安裝cpolar內(nèi)網(wǎng)穿透

https://www.cpolar.com/

  • 打開寶塔終端命令窗口,使用cpolar一件安裝腳本:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

image-20230303183721806

  • token認(rèn)證

登錄cpolar官網(wǎng),點擊左側(cè)的 驗證 ,查看自己的認(rèn)證token,之后將token貼在命令行里

cpolar authtoken xxxxxxx

20230111103532

  • 向系統(tǒng)添加服務(wù)
sudo systemctl enable cpolar
  • 啟動cpolar服務(wù)
sudo systemctl start cpolar
  • 開放9200端口

在寶塔面板中選擇安全.然后開放9200端口

image-20230303184430176

  • 登錄cpolar web UI 管理界面

然后局域網(wǎng)ip訪問9200端口即可出現(xiàn)cpolar管理界面,輸入cpolar郵箱賬號進(jìn)行登陸

image-20230303184618711

3. 內(nèi)網(wǎng)穿透

登錄cpolar web UI管理界面后,我們創(chuàng)建一個http隧道,指向80端口,因為apache服務(wù)默認(rèn)是80端口

隧道名稱:可自定義,注意不要重復(fù)

  • 協(xié)議:http
  • 本地地址:80
  • 端口類型:隨機(jī)域名
  • 地區(qū):China vip

點擊 創(chuàng)建

image-20230307161358154

創(chuàng)建成功后我們打開在線隧道列表復(fù)制創(chuàng)建的公網(wǎng)地址

image-20230307161716775

然后我們打開寶塔面板,點擊網(wǎng)站,選擇添加站點,把復(fù)制的公網(wǎng)地址粘貼到域名的參數(shù)框,然后點擊提交

image-20230307162110990

這個時候我們可以看到站點創(chuàng)建成功

image-20230307162248903

然后我們再使用復(fù)制的公網(wǎng)地址,打開瀏覽器訪問,出現(xiàn)歡迎頁表示成功

image-20230307163357047

4. 固定http地址

由于剛剛創(chuàng)建隧道使用的是隨機(jī)臨時地址,該地址會在24小時內(nèi)發(fā)生變化,為了長期遠(yuǎn)程訪問,我們接下來將這個公網(wǎng)地址配置為固定的。

需升級至基礎(chǔ)套餐或以上才支持配置二級子域名

登錄cpolar官網(wǎng)后臺,點擊左側(cè)儀表盤的 預(yù)留 ,找到 保留二級子域名 ,為http隧道保留一個二級子域名。

  • 地區(qū):選擇服務(wù)器地區(qū)
  • 名稱:填寫您想要保留的二級子域名(可自定義)
  • 描述:即備注,可自定義填寫

image-20230307164936590

本例保留一個名稱為 mywebsitegame 的二級子域名。子域名保留成功后,我們將子域名復(fù)制下來,接下來需要將其配置到隧道中去。

image-20230307165346945

5. 配置二級子域名

登錄cpolar web ui管理界面。點擊左側(cè)儀表盤的 隧道管理 —— 隧道列表 ,找到需要配置二級子域名的隧道(本例中為apache website隧道),點擊右側(cè)的 編輯

image-20230307165440111

修改隧道信息,將二級子域名配置到隧道中:

  • 域名類型:改為選擇 二級子域名
  • Sub Domain:填寫我們剛剛所保留的二級子域名(本例為 mywebsitegame

修改完成后,點擊 更新

image-20230307165524932

隧道更新成功后,點擊左側(cè)儀表盤的 狀態(tài) —— 在線隧道列表 ,可以看到隧道的公網(wǎng)地址,已經(jīng)更新為二級子域名了,將公網(wǎng)地址復(fù)制下來。

image-20230307165845253

然后我們打開寶塔面板,找到站點,點擊設(shè)置

image-20230307170712990

添加一個我們固定的公網(wǎng)地址域名

image-20230307170900973

然后把之前創(chuàng)建的隨機(jī)地址刪除

image-20230307170948787

然后我們打開瀏覽器,使用固定的公網(wǎng)地址進(jìn)行訪問,以上我們就配置好了站點遠(yuǎn)程訪問

image-20230307172031135

6. 創(chuàng)建一個測試頁面

點擊站點根目錄路徑,直接點擊

image-20230307172438126

新建一個名字為game.html頁面

image-20230307172627027

然后雙擊文件編輯,把下面代碼復(fù)制進(jìn)去(貪吃蛇小游戲),然后Ctrl+S保存

<!DOCTYPE html>
<html>
<head>
	<title>貪吃蛇</title>
	<meta charset="UTF-8">
	<meta name="keywords" content="貪吃蛇">
	<meta name="Description" content="這是一個初學(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;//初始化蛇的長度
	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);//前兩個數(shù)是矩形的起始坐標(biāo),后兩個數(shù)是矩形的長寬。
			}
			//繪制食物	
    		ctx.fillStyle ="black";
	     ctx.fillRect(foodx,foody,15,15);
	     ctx.fill();
    }
    function start()//定義蛇的坐標(biāo)
    {
    	//var snake =[];//定義一條蛇,畫蛇的身體
        //var snakeCount = 6;//初始化蛇的長度
		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)生一個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ù)組第一個元素
   	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()//吃到食物后長度加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>

image-20230307172848766

然后我們?yōu)g覽器使用公網(wǎng)地址加這個html文件訪問,即可看到我們部署的小游戲。

image-20230307173606348

以上就是Linux服務(wù)使用寶塔面板搭建網(wǎng)站并通過內(nèi)網(wǎng)穿透實現(xiàn)公網(wǎng)訪問的詳細(xì)內(nèi)容,更多關(guān)于Linux服務(wù)搭建網(wǎng)站并發(fā)布訪問的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • linux kill命令詳解

    linux kill命令詳解

    本篇文章主要介紹了linux kill命令詳解 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Linux命令行參數(shù)和環(huán)境變量使用詳解

    Linux命令行參數(shù)和環(huán)境變量使用詳解

    文章首先講解了命令行參數(shù)的基本概念,包括`main`函數(shù)的參數(shù)及其作用,接著介紹了Linux下統(tǒng)的執(zhí)行流程,重點解釋了`argv`和`argc`的作用,然后介紹了環(huán)境變量的概念、作用和使用方法,解釋了如何臨時和永久設(shè)置環(huán)境變量
    2026-04-04
  • linux編譯ko文件方式(不同內(nèi)核源碼版本)

    linux編譯ko文件方式(不同內(nèi)核源碼版本)

    文章總結(jié):作者首先嘗試編譯內(nèi)核驅(qū)動程序時遇到困難,后來通過更換內(nèi)核版本并按照步驟成功編譯出ko文件,編譯步驟包括解壓內(nèi)核源碼、配置、編譯、安裝模塊、創(chuàng)建initrd文件、更新鏡像、更改啟動文件等,此外,還介紹了如何通過Makefile編譯ko文件
    2026-01-01
  • windows安裝apache系統(tǒng)中無apache2服務(wù)解決方案

    windows安裝apache系統(tǒng)中無apache2服務(wù)解決方案

    一直都是用WIN開發(fā)PHP,今天有用戶反映SHUGUANG CMS在APACHE+PHP中不能正常運行,只好自己機(jī)器配置個環(huán)境測試,遇到點小問題,搜索相關(guān)資料,終于解決
    2011-09-09
  • Linux創(chuàng)建文件的五種方法

    Linux創(chuàng)建文件的五種方法

    本文介紹五種在Linux系統(tǒng)中創(chuàng)建文件的方法,包括使用touch命令、使用文本編輯器創(chuàng)建文件、使用echo命令創(chuàng)建文件、使用cat命令創(chuàng)建文件以及使用重定向符號創(chuàng)建文件,全面了解并掌握在Linux系統(tǒng)中創(chuàng)建文件的各種常用方法,需要的朋友可以參考下
    2025-03-03
  • Ubuntu linux 安裝 PHP5.3.0的命令

    Ubuntu linux 安裝 PHP5.3.0的命令

    5.3.0 的正式版已經(jīng)發(fā)布有段時間了,看到腳本之家上面有個windows下的安裝php5.3的教程,所以想起寫一個關(guān)于linux的PHP5.3的安裝教程。
    2009-09-09
  • Linux查看系統(tǒng)的上次重啟時間的幾種方法小結(jié)

    Linux查看系統(tǒng)的上次重啟時間的幾種方法小結(jié)

    這篇文章主要介紹了Linux查看系統(tǒng)的上次重啟時間的幾種方法,通過這些方法,你可以輕松查看 Linux 系統(tǒng)的重啟時間,這里列出了系統(tǒng)的每次重啟時間,最新的重啟記錄在最上面,這條命令會顯示本次啟動的內(nèi)核日志,包括系統(tǒng)啟動的時間,需要的朋友可以參考下
    2025-10-10
  • CentOS 6.5平臺實現(xiàn)快速部署FTP的方法

    CentOS 6.5平臺實現(xiàn)快速部署FTP的方法

    這篇文章主要介紹了CentOS 6.5平臺實現(xiàn)快速部署FTP的方法,結(jié)合實例形式分析了CentOS6.5平臺配置與部署FTP的具體步驟、相關(guān)操作命令與注意事項,需要的朋友可以參考下
    2018-04-04
  • 記一次Ubuntu服務(wù)器被黑經(jīng)歷

    記一次Ubuntu服務(wù)器被黑經(jīng)歷

    最近我們的一臺Ubuntu阿里云服務(wù)器一直提示有肉雞行為,提示了好幾天,開始并沒有關(guān)注,然后連續(xù)幾天后發(fā)現(xiàn)應(yīng)該是個大問題啊,很可能服務(wù)被侵入了。下面通過本文給大家分享下詳情
    2016-11-11
  • Linux中一種友好的find替代工具(fd命令)

    Linux中一種友好的find替代工具(fd命令)

    這篇文章主要介紹了Linux中一種友好的find替代工具(fd命令),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

巴彦淖尔市| 麟游县| 柳州市| 柳州市| 汶川县| 广平县| 海宁市| 兴宁市| 北碚区| 海原县| 丹阳市| 金坛市| 滁州市| 宽甸| 陕西省| 洛南县| 岑巩县| 龙门县| 左云县| 高雄县| 大连市| 丹寨县| 洪湖市| 布尔津县| 明水县| 贡嘎县| 临湘市| 龙南县| 山西省| 罗源县| 霍州市| 屏南县| 尖扎县| 唐海县| 洪湖市| 胶州市| 易门县| 鄂温| 深水埗区| 阿尔山市| 宜都市|