国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

本地Linux搭建web服務(wù)并發(fā)布公網(wǎng)訪問(wèn) - 無(wú)需公網(wǎng)IP

這篇具有很好參考價(jià)值的文章主要介紹了本地Linux搭建web服務(wù)并發(fā)布公網(wǎng)訪問(wèn) - 無(wú)需公網(wǎng)IP。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?? 博客主頁(yè):??@披星戴月的賈維斯
?? 歡迎關(guān)注:??點(diǎn)贊??收藏??留言
??系列專欄:?? 內(nèi)網(wǎng)穿透
??請(qǐng)不要相信勝利就像山坡上的蒲公英一樣唾手可得,但是請(qǐng)相信,世界上總有一些美好值得我們?nèi)σ愿?,哪怕粉身碎骨??
??一起加油,去追尋、去成為更好的自己!

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

轉(zhuǎn)載自cpolar極點(diǎn)云的文章:在Ubuntu搭建Web站點(diǎn),并將其發(fā)布到公網(wǎng)訪問(wèn)

前言

網(wǎng):我們通常說(shuō)的是互聯(lián)網(wǎng);站:可以理解成在互聯(lián)網(wǎng)上的一個(gè)房子。把互聯(lián)網(wǎng)看做一個(gè)城市,城市里面的每一個(gè)房子就是一個(gè)站點(diǎn),房子里面放著你的資源,那如果有人想要訪問(wèn)你房子里面的東西怎么辦?

在現(xiàn)實(shí)生活中,去別人家首先要知道別人的地址,某某區(qū)某某街道,幾號(hào),在互聯(lián)網(wǎng)中也有地址的概念,就是ip。通過(guò)ip我們就能找到在互聯(lián)網(wǎng)上面的站點(diǎn),端口可以看做是這個(gè)房子的入口,不同的入口所看到的東西也就不一樣,如從大門(80端口)進(jìn)是客廳,從窗戶(8080端口)進(jìn)是書房。

接下來(lái)我們將通過(guò)簡(jiǎn)單幾步來(lái)在ubuntu搭建一個(gè)web站點(diǎn) html小游戲,并使用cpolar內(nèi)網(wǎng)穿透將其發(fā)布到公網(wǎng)上,使得公網(wǎng)用戶也可以正常訪問(wèn)到本地web站點(diǎn)的小游戲。

1. 本地環(huán)境服務(wù)搭建

apach2是一個(gè)服務(wù),也可以看做一個(gè)容器,也就是上面說(shuō)的房子,運(yùn)行在ubuntu里,這個(gè)服務(wù)可以幫助我們把我們自己的網(wǎng)站頁(yè)面通過(guò)相應(yīng)的端口讓除本機(jī)以外的其他電腦訪問(wèn)。

下載apach2

sudo apt install apache2 php -y

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

下載好后啟動(dòng)apache2

sudo service apache2 restart

然后打開Ubuntu 瀏覽器,輸入:http://localhost 即可看到我們apache 默認(rèn)的頁(yè)面,此時(shí)說(shuō)明本地站點(diǎn)已經(jīng)搭建好了。

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

進(jìn)入Apache默認(rèn)服務(wù)器主目錄路徑,這個(gè)目錄放的是想要讓別人看到的資源,如一張圖片,一個(gè)html頁(yè)面等

cd /var/www/html

進(jìn)入后刪掉index.html這個(gè)文件,由于apache默認(rèn)頁(yè)面并不是我們自己想要的頁(yè)面,我們想要換成自己喜歡的頁(yè)面,所以需要?jiǎng)h掉.執(zhí)行以下命令:

sudo rm -rf index.html

為了達(dá)到測(cè)試效果,我們?cè)O(shè)置一個(gè)html頁(yè)面小游戲,創(chuàng)建名稱為game.html的頁(yè)面

sudo vim game.html

i鍵 進(jìn)入編輯模式,復(fù)制以下html代碼進(jìn)去(復(fù)制全部)

<!DOCTYPE html>
<html>
    <head><h4>Take it Easy!Please playing Game</h4></head>
    <body>
		<div></div>
        <!-- 4個(gè)board -->
        <div id="board1" style="position: absolute; width:80px; height:10px; left:420px; 
        top:555px; background-color: cadetblue;"></div>
        <div id="board2" style="position: absolute; width:80px; height:10px; left:520px; 
        top:555px; background-color: cadetblue;"></div>
        <div id="board3" style="position: absolute; width:80px; height:10px; left:620px; 
        top:555px; background-color: cadetblue;"></div>
        <div id="board4" style="position: absolute; width:80px; height:10px; left:720px; 
        top:555px; background-color: cadetblue;"></div>
        <!-- 小球 -->
        <div id="ball" class="circle" style="width:20px; 
        height:20px; background-color:crimson; border-radius: 50%; position:absolute; 
        left:600px; top:100px"></div>
        <!-- 框 -->
        <div id="box" style="border: 5px solid #555555; width:400px; height:550px; display=hide"></div>
        <!-- 分?jǐn)?shù) 過(guò)的board越多,分?jǐn)?shù)越高 -->
        <div id="score" style="width:200px; height:10px; position:absolute; left:900px; 
            font-family:'隸書'; font-size: 30px;">score: 0</div>
        <!-- 游戲結(jié)束 -->
        <div id="gg" style="width:200px; height:10px; position:absolute; left:550px; top:200px;
        font-family:'隸書'; font-size: 30px; display: none;">Game Over</div>
        <script>
            // 設(shè)置box的樣式
            var box = document.getElementById("box");
            box.style.position = "absolute";
            box.style.left = "400px";
            // 設(shè)置board的樣式
            var board1 = document.getElementById("board1");
            var board2 = document.getElementById("board2");
            var board3 = document.getElementById("board3");
            var board4 = document.getElementById("board4");
            // 聲音
            var shengyin = new Audio();
            shengyin.src = "聲音2.mp3";
            shengyinFlag = 0; // 用來(lái)表示小球在第幾塊board上
            // 鍵盤事件函數(shù)
            var ball = document.getElementById("ball");
            document.onkeydown = f;
            function f(e){
                var e = e || window.event;
                switch(e.keyCode){
                    case 37:
                        // 按下左鍵,小球左移,但不要超過(guò)左邊框
                        if(ball.offsetLeft>=box.offsetLeft + 10)
                            ball.style.left = ball.offsetLeft - 8 + "px";
                        break;
                    case 39:
                        // 按下右鍵,小球右移,但不要超過(guò)由邊框
                        if(ball.offsetLeft<=box.offsetLeft+box.offsetWidth-ball.offsetWidth-10)
                            ball.style.left = ball.offsetLeft + 8 + "px";
                        break;
                    case 32:
                        
                }
            }
            // 定義一個(gè)分?jǐn)?shù)變量
            var fenshu = 0;
            // 定義一個(gè)函數(shù),移動(dòng)給定的一個(gè)board
            function moveBoard(board)
            {
                var t1 = board.offsetTop;
                if(t1<=0)
                {
                    // 如果board移到最上面了,就隨機(jī)換個(gè)水平位置,再移到最下面
                    t2 = Math.floor(Math.random() * (720- 420) + 420);
                    board.style.left = t2 + "px";
                    board.style.top = "555px";
                    fenshu += 1; //分?jǐn)?shù)增加1
                    document.getElementById("score").innerHTML = "score " + fenshu;
                }
                    // 
                else
                    board.style.top = board.offsetTop - 1 + "px";
            }
            // 定義小球的速度變量
            var startSpeed = 1;
            var ballSpeed =startSpeed;
            // step函數(shù)是游戲界面的單位變化函數(shù)
            function step()
            {
                // board直接上下隔得太近,就逐個(gè)移動(dòng),否則,同時(shí)移動(dòng)
                var t1 = Math.abs(board1.offsetTop - board2.offsetTop);
                var t2 = Math.abs(board2.offsetTop - board3.offsetTop);
                var t3 = Math.abs(board3.offsetTop - board4.offsetTop);
                // 定義一個(gè)board之間的間隔距離
                var t4 = 140;
                if(t1<t4)
                {
                    moveBoard(board1);
                }
                else if(t2<t4)
                {
                    moveBoard(board1);
                    moveBoard(board2);
                }
                else if(t3<t4)
                {
                    moveBoard(board1);
                    moveBoard(board2);
                    moveBoard(board3);
                }
                else
                {
                    moveBoard(board1);
                    moveBoard(board2);
                    moveBoard(board3);
                    moveBoard(board4);
                }
                // 定義小球的垂直移動(dòng)規(guī)則,1、向下勻加速運(yùn)動(dòng),2、如果碰到board就被board持續(xù)抬上去,
                // 直到按左右鍵離開了該board

                // 如果小球的縱坐標(biāo)等于某個(gè)board的縱坐標(biāo),就被抬起
                var t5 = Math.abs(ball.offsetTop - board1.offsetTop);
                var t6 = Math.abs(ball.offsetTop - board2.offsetTop);
                var t7 = Math.abs(ball.offsetTop - board3.offsetTop);
                var t8 = Math.abs(ball.offsetTop - board4.offsetTop);
                if(t5<=ball.offsetHeight && t5>0 && ball.offsetLeft>=board1.offsetLeft-ball.offsetWidth && ball.offsetLeft<=board1.offsetLeft+board1.offsetWidth)
                {
                    ball.style.top = board1.offsetTop - ball.offsetHeight + "px";
                    ballSpeed = startSpeed;
                    if(shengyinFlag != 1)
                    {
                        shengyin.play();
                        shengyinFlag = 1;
                    }
                }
                else if(t6<=ball.offsetHeight && t6>0 && ball.offsetLeft>=board2.offsetLeft-ball.offsetWidth && ball.offsetLeft<=board2.offsetLeft+board2.offsetWidth)
                {
                    ball.style.top = board2.offsetTop - ball.offsetHeight + "px";
                    ballSpeed = startSpeed;
                    if(shengyinFlag != 2)
                    {
                        shengyin.play();
                        shengyinFlag = 2;
                    }
                }
                else if(t7<=ball.offsetHeight && t7>0 && ball.offsetLeft>=board3.offsetLeft-ball.offsetWidth && ball.offsetLeft<=board3.offsetLeft+board3.offsetWidth)
                {
                    ball.style.top = board3.offsetTop - ball.offsetHeight + "px";
                    ballSpeed = startSpeed;
                    if(shengyinFlag != 3)
                    {
                        shengyin.play();
                        shengyinFlag = 3;
                    }
                }
                else if(t8<=ball.offsetHeight && t8>0 && ball.offsetLeft>=board4.offsetLeft-ball.offsetWidth && ball.offsetLeft<=board4.offsetLeft+board4.offsetWidth)
                {
                    ball.style.top = board4.offsetTop - ball.offsetHeight + "px";
                    ballSpeed = startSpeed;
                    if(shengyinFlag != 4)
                    {   
                        shengyin.play();
                        shengyinFlag = 4;
                    }
                }
                else
                {
                    ballSpeed = ballSpeed + 0.01; // 數(shù)字相當(dāng)于加速度
                    ball.style.top = ball.offsetTop + ballSpeed + "px";
                }
                // ballSpeed = ballSpeed + 0.01; // 數(shù)字相當(dāng)于加速度
                // ball.style.top = ball.offsetTop + ballSpeed + "px";
                
                // 如果小球跑出來(lái)box,就結(jié)束游戲
                if(ball.offsetTop==0 || ball.offsetTop>=box.offsetTop+box.offsetHeight)
                {
                    clearInterval(gameover);
                    ball.style.display = 'none';
                    board1.style.display = 'none';
                    board2.style.display = 'none';
                    board3.style.display = 'none';
                    board4.style.display = 'none';
                    var gg = document.getElementById("gg"); //顯示游戲結(jié)束
                    gg.style.display = 'block';
                }
            }

            var gameover = setInterval("step();", 8);
        </script>
    </body>
</html>

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

復(fù)制完后按Esc鍵退出編輯,接著輸入冒號(hào):wq保存退出即可

2. 局域網(wǎng)測(cè)試訪問(wèn)

接著瀏覽器輸入http://localhost/game.html,即可看到html頁(yè)面的小游戲站點(diǎn),由于部署的是靜態(tài)站點(diǎn),不需要重啟服務(wù)。

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

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

由于這個(gè)站點(diǎn)目前只能在本地被訪問(wèn)到,為了使所有人都可以訪問(wèn),我們需要將這個(gè)本地基礎(chǔ)站點(diǎn)發(fā)布到公網(wǎng)。這里我們可以通過(guò)cpolar內(nèi)網(wǎng)穿透工具來(lái)實(shí)現(xiàn),它支持 http/https/tcp協(xié)議,無(wú)需公網(wǎng)IP ,也不用設(shè)置路由器,可以很容易將本地站點(diǎn)發(fā)布到公網(wǎng)供所有人訪問(wèn)。

3.1 ubuntu本地安裝cpolar內(nèi)網(wǎng)穿透

cpolar官網(wǎng):https://www.cpolar.com/

  • cpolar支持一鍵自動(dòng)安裝腳本
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token認(rèn)證

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

cpolar authtoken xxxxxxx

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

  • 簡(jiǎn)單穿透測(cè)試,穿透成功有正常生成公網(wǎng)地址,按ctrl+c退出
cpolar http 8080
  • 向系統(tǒng)添加服務(wù),將cpolar配置為開機(jī)自啟
sudo systemctl enable cpolar
  • 啟動(dòng)cpolar服務(wù)
sudo systemctl start cpolar
  • 查看服務(wù)狀態(tài),正常顯示為active表示啟動(dòng)成功,為正常在線狀態(tài)
sudo systemctl status cpolar

3.2 創(chuàng)建隧道

cpolar安裝成功之后,在瀏覽器上訪問(wèn)本地9200端口,登錄cpolar web UI管理界面。

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

點(diǎn)擊左側(cè)儀表盤的隧道管理——?jiǎng)?chuàng)建隧道:

  • 隧道名稱:可自定義,注意不要重復(fù)
  • 協(xié)議:http
  • 本地地址:80
  • 端口類型:隨機(jī)域名
  • 地區(qū):China vip

點(diǎn)擊創(chuàng)建

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

隧道創(chuàng)建成功后,點(diǎn)擊左側(cè)的狀態(tài)——在線隧道列表,可以看到剛剛創(chuàng)建的隧道已經(jīng)有生成了相應(yīng)的公網(wǎng)地址,將其復(fù)制下來(lái),接下來(lái)測(cè)試訪問(wèn)一下。

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

3.3 測(cè)試公網(wǎng)訪問(wèn)

打開瀏覽器訪問(wèn)剛剛所復(fù)制的公網(wǎng)地址,注意,后面要加上路徑/game.html,出現(xiàn)游戲界面即成功。

游戲控制使用:鍵盤上下左右鍵

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

4. 配置固定二級(jí)子域名

由于以上所創(chuàng)建的隧道選擇的是隨機(jī)域名,所生成的公網(wǎng)地址會(huì)在24小時(shí)內(nèi)隨機(jī)變化,對(duì)于需要長(zhǎng)期訪問(wèn)的用戶來(lái)講較為不方便。不過(guò)我們可以為其配置一個(gè)固定的二級(jí)子域名來(lái)進(jìn)行訪問(wèn),改地址不會(huì)隨機(jī)變化。

注意:配置固定二級(jí)子域名功能需要升級(jí)至基礎(chǔ)版套餐或以上才支持。

4.1 保留一個(gè)二級(jí)子域名

登錄cpolar官網(wǎng)后臺(tái),點(diǎn)擊左側(cè)的預(yù)留,找到保留二級(jí)子域名:

  • 地區(qū):選擇China VIP
  • 二級(jí)域名:可自定義填寫
  • 描述:即備注,可自定義填寫

點(diǎn)擊保留

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

提示子域名保留成功,復(fù)制所保留的二級(jí)子域名

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

4.2 配置二級(jí)子域名

訪問(wèn)本地9200端口登錄cpolar web UI管理界面,點(diǎn)擊左側(cè)儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點(diǎn)擊右側(cè)的編輯

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

修改隧道信息,將保留成功的二級(jí)子域名配置到隧道中

  • 域名類型:選擇二級(jí)子域名
  • Sub Domain:填寫保留成功的二級(jí)子域名,本例為test01

點(diǎn)擊更新

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

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

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

4.3 測(cè)試訪問(wèn)公網(wǎng)固定二級(jí)子域名

我們使用任意瀏覽器,輸入剛剛配置成功的公網(wǎng)固定二級(jí)子域名+/game.html即可看到我們創(chuàng)建的站點(diǎn)小游戲

怎么將linux服務(wù)器中的web服務(wù)對(duì)外訪問(wèn),內(nèi)網(wǎng)穿透,linux,前端,tcp/ip

??總結(jié)

????本文和大家介紹了本地Linux搭建web服務(wù)并發(fā)布公網(wǎng)訪問(wèn)這個(gè)方法,最后我們使用任意瀏覽器,輸入剛剛配置成功的公網(wǎng)固定二級(jí)子域名+/game.html即可看到我們創(chuàng)建的站點(diǎn)小游戲。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-794479.html

到了這里,關(guān)于本地Linux搭建web服務(wù)并發(fā)布公網(wǎng)訪問(wèn) - 無(wú)需公網(wǎng)IP的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 本地使用IIS快速搭建一個(gè)屬于自己的網(wǎng)站,并發(fā)布公網(wǎng)訪問(wèn)「無(wú)需購(gòu)買云服務(wù)器」

    本地使用IIS快速搭建一個(gè)屬于自己的網(wǎng)站,并發(fā)布公網(wǎng)訪問(wèn)「無(wú)需購(gòu)買云服務(wù)器」

    在網(wǎng)上各種教程和介紹中,搭建網(wǎng)頁(yè)都會(huì)借助各種軟件的幫助,比如網(wǎng)頁(yè)運(yùn)行的Apache和Nginx、數(shù)據(jù)庫(kù)軟件MySQL和MSSQL之類,為方便用戶使用,還出現(xiàn)了XAMPP、PHPStudy、寶塔面板等等一系列集成服務(wù),都是為了方便我們能快速建立網(wǎng)站。是不是不適用這些軟件就無(wú)法建立網(wǎng)站了呢?

    2024年02月05日
    瀏覽(26)
  • 本地搭建web服務(wù)器、個(gè)人博客并發(fā)布公網(wǎng)訪問(wèn)

    本地搭建web服務(wù)器、個(gè)人博客并發(fā)布公網(wǎng)訪問(wèn)

    在現(xiàn)代社會(huì),網(wǎng)絡(luò)已經(jīng)成為我們生活離不開的必需品,而紛繁多樣的個(gè)人博客網(wǎng)站,也成為了個(gè)人展示的最好平臺(tái)。在以往,想要搭建一個(gè)個(gè)人博客網(wǎng)站需要較深的專業(yè)知識(shí),但得益于軟件技術(shù)的發(fā)展,就算普通人也可以在幾個(gè)軟件的幫助下,在自己的電腦或電子設(shè)備上,建

    2024年02月14日
    瀏覽(23)
  • 樹莓派本地快速搭建web服務(wù)器,并發(fā)布公網(wǎng)訪問(wèn)

    樹莓派本地快速搭建web服務(wù)器,并發(fā)布公網(wǎng)訪問(wèn)

    隨著科技的發(fā)展,電子工業(yè)也在不斷進(jìn)步,我們身邊的電子設(shè)備也在朝著小型化和多功能化演進(jìn),以往體積龐大的電腦也在逐漸縮小體積。樹莓派作為一臺(tái)功能完備的硬件設(shè)備,其功耗和體積遠(yuǎn)小于傳統(tǒng)的臺(tái)式電腦,并且在大部分功能上并不遜于臺(tái)式機(jī),因此被開發(fā)出多種應(yīng)

    2024年02月15日
    瀏覽(37)
  • 【IIS建站教程】windows本地搭建web服務(wù),內(nèi)網(wǎng)穿透發(fā)布公網(wǎng)訪問(wèn)

    【IIS建站教程】windows本地搭建web服務(wù),內(nèi)網(wǎng)穿透發(fā)布公網(wǎng)訪問(wèn)

    轉(zhuǎn)載自遠(yuǎn)程源碼文章:【IIS搭建網(wǎng)站】本地電腦做服務(wù)器搭建web站點(diǎn)并公網(wǎng)訪問(wèn)「內(nèi)網(wǎng)穿透」 在網(wǎng)上各種教程和介紹中,搭建網(wǎng)頁(yè)都會(huì)借助各種軟件的幫助,比如網(wǎng)頁(yè)運(yùn)行的Apache和Nginx、數(shù)據(jù)庫(kù)軟件MySQL和MSSQL之類,為方便用戶使用,還出現(xiàn)了XAMPP、PHPStudy、寶塔面板等等一系

    2024年02月06日
    瀏覽(21)
  • 幾分鐘在Ubuntu搭建本地Emlog博客網(wǎng)站并發(fā)布至公網(wǎng)無(wú)需購(gòu)買域名服務(wù)器

    幾分鐘在Ubuntu搭建本地Emlog博客網(wǎng)站并發(fā)布至公網(wǎng)無(wú)需購(gòu)買域名服務(wù)器

    博客作為使用最廣的個(gè)人在互聯(lián)網(wǎng)的發(fā)聲網(wǎng)站,在很長(zhǎng)一段時(shí)間里,都被大家視作在互聯(lián)網(wǎng)上發(fā)聲的主要通道之一。雖然之后出現(xiàn)的即時(shí)聊天工具和朋友圈崛起,搶奪了不少博客的空間,但其仍占有不小的市場(chǎng)份額。也正因博客很重要,才吸引了不少開發(fā)者,制作出了各種各

    2024年02月04日
    瀏覽(37)
  • 在本地搭建WAMP服務(wù)器并通過(guò)端口實(shí)現(xiàn)局域網(wǎng)訪問(wèn)(無(wú)需公網(wǎng)IP)

    在本地搭建WAMP服務(wù)器并通過(guò)端口實(shí)現(xiàn)局域網(wǎng)訪問(wèn)(無(wú)需公網(wǎng)IP)

    軟件技術(shù)的發(fā)展日新月異,各種能方便我們生活、工作和娛樂(lè)的新軟件層出不窮,但也有一些經(jīng)過(guò)時(shí)間和用戶考驗(yàn)的老牌軟件屹立不倒。就一我們熟悉的網(wǎng)站集成環(huán)境來(lái)說(shuō),全球就有很多種server軟件。每個(gè)軟件都有各自的特色(雖然同質(zhì)化很嚴(yán)重),也擁有自己固定的適用群

    2024年02月12日
    瀏覽(31)
  • 搭建Web服務(wù)器并用cpolar發(fā)布至公網(wǎng)訪問(wèn)

    搭建Web服務(wù)器并用cpolar發(fā)布至公網(wǎng)訪問(wèn)

    隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)也成為我們生活中不可缺少的必要條件,為了能在互聯(lián)網(wǎng)世界中有自己的一片天地,建立一個(gè)屬于自己的網(wǎng)頁(yè)就成為很多人的選擇。但互聯(lián)網(wǎng)行業(yè)作為資本密集的行業(yè),委托別人建立一個(gè)像樣的網(wǎng)站要花費(fèi)不少,不僅要精深設(shè)計(jì)制作網(wǎng)頁(yè),還需要

    2024年02月12日
    瀏覽(19)
  • 【本地電腦搭建Web服務(wù)器并用cpolar發(fā)布至公網(wǎng)

    【本地電腦搭建Web服務(wù)器并用cpolar發(fā)布至公網(wǎng)

    隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)也成為我們生活中不可缺少的必要條件,為了能在互聯(lián)網(wǎng)世界中有自己的一片天地,建立一個(gè)屬于自己的網(wǎng)頁(yè)就成為很多人的選擇。但互聯(lián)網(wǎng)行業(yè)作為資本密集的行業(yè),委托別人建立一個(gè)像樣的網(wǎng)站要花費(fèi)不少,不僅要精深設(shè)計(jì)制作網(wǎng)頁(yè),還需要

    2024年02月16日
    瀏覽(28)
  • 公網(wǎng)訪問(wèn)Linux CentOS本地搭建的Web站點(diǎn)

    公網(wǎng)訪問(wèn)Linux CentOS本地搭建的Web站點(diǎn)

    轉(zhuǎn)載自cpolar文章:Linux CentOS本地搭建Web站點(diǎn),并實(shí)現(xiàn)公網(wǎng)訪問(wèn) 在web項(xiàng)目中,部署的web站點(diǎn)需要被外部訪問(wèn),則需要一個(gè)媒介,通過(guò)把資源放在這個(gè)媒介中,再通過(guò)所暴露的端口指向這個(gè)站點(diǎn),當(dāng)外部訪問(wèn)這個(gè)媒介所對(duì)應(yīng)的端口時(shí),媒介指向站點(diǎn),完成訪問(wèn),像這種類似的媒介,常用的有

    2024年02月07日
    瀏覽(25)
  • 公網(wǎng)訪問(wèn)的Linux CentOS本地Web站點(diǎn)搭建指南

    公網(wǎng)訪問(wèn)的Linux CentOS本地Web站點(diǎn)搭建指南

    在web項(xiàng)目中,部署的web站點(diǎn)需要被外部訪問(wèn),則需要一個(gè)媒介,通過(guò)把資源放在這個(gè)媒介中,再通過(guò)所暴露的端口指向這個(gè)站點(diǎn),當(dāng)外部訪問(wèn)這個(gè)媒介所對(duì)應(yīng)的端口時(shí),媒介指向站點(diǎn),完成訪問(wèn),像這種類似的媒介,常用的有tomcat容器、Apache等,這邊使用Apache來(lái)建搭建。 Apache2 是一種流行的

    2024年02月16日
    瀏覽(14)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包