web伺服器搭建方案
Ⅰ nodejs搭建web伺服器就是這么簡單!
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。(nodejs官網上的介紹),正如官網上介紹的那樣,nodejs確實很牛!怎麼個牛法?看看下面的代碼就知道了。
//引入http模塊
var http = require("http");
//設置主機名
var hostName = 飗.0.0.1'
//設置埠
var port = 8080;
//創建服務
var server = http.createServer(function(req,res){
res.setHeader('Content-Type','text/plain');
res.end("hello nodejs");
});
server.listen(port,hostName,function(){
console.log(`伺服器運行在http://${hostName}:${port}`);
});
短短幾行代碼就把一個簡單的web伺服器搭建完成了,為了驗證效果,我們在瀏覽器請求,結果如下
運行成功!
到此為止,一個web伺服器就建立成功了! 沒錯就是這么簡單,然後我們就可以寫個html界面愉快的玩耍了,哈哈哈!果斷的寫了一個html頁面來請求一下我們的web伺服器。
代碼簡單,點擊p獲取數據並將伺服器返回的數據展示。好了,我們運行一下demo.html文件,我擦來!居然出現了……
很明顯,通過jquery請求不到數據,這是因為跨域請求的原因。我們的web伺服器並不支持跨域請求,所以報錯了。解決方式:在伺服器的響應頭文件里加上如下代碼:
再次重啟伺服器,運行demo.html,顯示結果很是令人欣喜!
通常請求伺服器都會拼接參數的,最常用的就是get請求,post請求。很明顯,我們現在的代碼還不能支持。express框架很好的封裝了nodejs的http模塊,使我們用起來非常的簡單。
引入express :$ cnpm install express –save
使用方式變化不大,通過express()方法開啟服務,然後在通過get方法來設置匹配參數的路由,通過在回調函數的req中可以獲取請求參數和地址。post請求也是類似,不過有不同的是,post請求在獲取參數的時候要引入body-parser 中間件,用於處理 JSON, Raw, Text 和 URL 編碼的數據。
運行結果:
完整的get以及post請求就是以上了。下一篇文章會結果fs文件模塊介紹http是如何返迴文件的,敬請期待!!
學習從來不是一個人的事情,要有個相互監督的夥伴,想要學習或交流前端問題的小夥伴可以私信「學習」小明加群獲取2019web前端最新入門資料,一起學習,一起成長!
Ⅱ 如何在ubuntu搭建web伺服器
可以參考如下Web伺服器的建立過程。示例環境及web伺服器軟體:
Ubuntu 12.04
LAMP(Linux,Apache,Mysql,php)
1、安裝Apache
(1)在安裝HTTP Server之前需安裝APR(Apache Portable Runtime)和APR-util安裝APR
$ tar zxvf apr-1.4.6.tar.gz
$ cd apr-1.4.6/
$ ./configure
$ make
$ sudo make install
(2)安裝APR-util
$ tar zxvf apr-util-1.4.1.tar.gz
$ cd apr-util-1.4.1
$ ./configure –with-apr=/usr/local/apr (whereis apr)
$ make
$ sudo make install
(3)安裝httpd-2.4.2.tar.bz2默認安裝位置/usr/local/apache2網頁放在/usr/local/apache2/htdocs配置文件/usr/local/apache2/conf/httpd.conf
$ tar jxvf httpd-2.4.2.tar.bz2
$ cd httpd-2.4.2/
$ ./configure
$ make
$ sudo make install
(4)啟動HTTP Server$ sudo /usr/local/apache2/bin/apachectl startAH00558: httpd: Could not reliably determine the server』s fully qualified domain name, using 127.0.1.1. Set the 『ServerName』 directive globally to suppress this message
(5)查看http是否正常運行$ netstat -a | grep httptcp 0 0 *:http *:* LISTEN
(6)在瀏覽器輸入127.0.0.1如果正常應該顯示「It works!」
2、安裝MySQL
(1)、下載安裝mysql-5.5.25.tar.gz,默認安裝位置/usr/local/mysql/
$ tar zxvf mysql-5.5.25.tar.gz
$ cd mysql-5.5.25/
$ sudo groupadd mysql
$ sudo useradd -r -g mysql mysql
$ cmake .
$ make
$ sudo make install
$ cd /usr/local/mysql/
$ sudo chown -R mysql .
$ sudo chgrp -R mysql .
$ sudo scripts/mysql_install_db –user=mysql
$ sudo chown -R root .
$ sudo chown -R mysql data/
$ sudo cp support-files/my-medium.cnf /etc/my.cnf
$ sudo cp support-files/mysql.server /etc/init.d/mysql.server
(2)、啟動MySQL:
方法1:$ sudo service mysql.server start
方法2:$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
3、安裝PHP
(1)安裝下載php-5.4.4.tar.gz
$ tar zxvf php-5.4.4.tar.gz
$ cd php-5.4.4
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-mysqli --enable-mbstring --with-mcrypt(可能需要安裝libmcrypt-dev )
$ sudo make install
$ sudo cp php.ini-development /usr/local/lib/php.ini
(2)配置HTTP Server使之支持PHPapache配置文件/usr/local/apache2/conf/httpd.conf修改或添加如下配置
<;IfMole dir_mole>
DirectoryIndex index.php
<;/IfMole>
<;FilesMatch \.php$>
SetHandler application/x-httpd-php
<;/FilesMatch>
(3)重啟HTTP Server
$ sudo /usr/local/apache2/bin/apachectl restart
Ⅲ 如何在Win8系統中搭建Web伺服器
關鍵看你需要什麼類型有web伺服器,如果是c#語言編碼,可以採用IIS進行搭建,樓上已給出詳細的配置步驟,如果是需要php+mySQL編碼,可以使用小皮面板(phpstudy)。
官網下載:小皮面板(phpstudy) - 讓天下沒有難配的伺服器環境! (xp.cn)
操作步驟比較簡單,參照官方網站:phpstudy安裝及使用教程 - 小皮面板(phpstudy)技術文章 (xp.cn)說明非常詳細
Ⅳ 如何用nodejs搭建web伺服器
使用Node.js搭建Web伺服器是學習Node.js比較全面的入門教程,因為實現Web伺服器需要用到幾個比較重要的模塊:http模塊、文件系統、url解析模塊、路徑解析模塊、以及301重定向技術等,下面我們就一起來學習如何搭建一個簡單的Web伺服器。
作為一個Web伺服器應具備以下幾個功能:
1、能顯示以.html/.htm結尾的Web頁面
2、能直接打開以.js/.css/.json/.text結尾的文件內容
3、顯示圖片資源
4、自動下載以.apk/.docx/.zip結尾的文件
5、形如http://xxx.com/a/b/ , 則查找b目錄下是否有index.html,如果有就顯示,如果沒有就列出該目錄下的所有文件及文件夾,並可以進一步訪問。
6、形如http://xxx.com/a/b, 則作301重定向到http://xxx.com/a/b/ , 這樣可以解決內部資源引用錯位的問題。
引入需要用到的幾個模塊:
//http協議模塊varhttp = require('http');//url解析模塊varurl = require('url');//文件系統模塊varfs = require("fs");//路徑解析模塊varpath = require("path");
創建服務並在指定的埠監聽:
//創建一個服務varhttpServer = http.createServer(this.processRequest.bind(this));//在指定的埠監聽服務httpServer.listen(port,function(){console.log("[HttpServer][Start]","runing at http://"+ip+":"+port+"/");console.timeEnd("[HttpServer][Start]");});
在創建服務的時候需要傳遞一個匿名函數processRequest 對請求進行處理,processRequest接收2個參數,分別是request和response, request對象中包含了請求的所有內容,response是用來設置響應頭以及對客戶端做出響應操作。
processRequest:function(request,response){varhasExt =true;varrequestUrl = request.url;varpathName = url.parse(requestUrl).pathname;//對請求的路徑進行解碼,防止中文亂碼pathName = decodeURI(pathName);//如果路徑中沒有擴展名if(path.extname(pathName) ===''){//如果不是以/結尾的,加/並作301重定向if(pathName.charAt(pathName.length-1) !="/"){pathName +="/";varredirect ="http://"+request.headers.host + pathName;response.writeHead(301, {location:redirect});response.end();return;}//添加默認的訪問頁面,但這個頁面不一定存在,後面會處理pathName +="index.html";hasExt =false;//標記默認頁面是程序自動添加的}//獲取資源文件的相對路徑varfilePath = path.join("http/webroot",pathName);//獲取對應文件的文檔類型varcontentType =this.getContentType(filePath);//如果文件名存在fs.exists(filePath,function(exists){if(exists){response.writeHead(200, {"content-type":contentType});varstream = fs.createReadStream(filePath,{flags:"r",encoding:null});stream.on("error", function() {response.writeHead(500,{"content-type":"text/html"});response.end("<h1>500 Server Error</h1>");});//返迴文件內容stream.pipe(response);}else{//文件名不存在的情況if(hasExt){//如果這個文件不是程序自動添加的,直接返回404response.writeHead(404, {"content-type":"text/html"});response.end("<h1>404 Not Found</h1>");}else{//如果文件是程序自動添加的且不存在,則表示用戶希望訪問的是該目錄下的文件列表varhtml ="<head><meta charset='utf-8'></head>";try{//用戶訪問目錄varfiledir = filePath.substring(0,filePath.lastIndexOf('\'));//獲取用戶訪問路徑下的文件列表varfiles = fs.readdirSync(filedir);//將訪問路徑下的所以文件一一列舉出來,並添加超鏈接,以便用戶進一步訪問for(variinfiles){varfilename = files[i];html +="<div><a href='"+filename+"'>"+filename+"</a></div>";}}catch(e){html +="<h1>您訪問的目錄不存在</h1>"}response.writeHead(200, {"content-type":"text/html"});response.end(html);}}});}
請求處理函數中有幾個重點需要說一下:
對於路徑中有中文的,瀏覽器會自動進行編碼(英文不變,中文會變),因此在接收到地址後,需要對地址進行解碼,否則最後得到的路徑和真實路徑不相符,
當訪問路徑不是以具體的文件結尾,並且不是以/結尾,則需要通過重定向加上/,表示當前目錄,否則當前路徑下的靜態資源會找不到
如果訪問路徑是目錄,則列出該目錄下所有文件及文件夾,並可以點擊訪問,為了讓中文目錄能正常顯示,則還要在header中設置charset=utf-8
核心代碼就這么多,大概140行左右,完整的代碼已上傳到github:https://github.com/git-onepixel/Node,
如果要運行demo,打開cmd切換到根目錄,運行node start 即可。
Ⅳ 如何在Win8系統中搭建Web伺服器
1、將滑鼠移動到桌面右下方,然後從彈出的擴展菜單中點擊「設置」按鈕,將在打開的擴展窗口中選擇「控制面板」項進入。
2、在打開的「控制面板」窗口中,依次點擊「程序」→「啟動或關閉Windows功能」。
3、接著在打開的「Windows窗口」功能窗口中,勾選「Web管理工具」下面所有地的選項,勾選「萬維網服務」下面的「應用程序開發」下所有選項。如圖所示,最後點擊「確定」按鈕,以便完成更新過程。
4、更新完成後,再次進入「控制面板」,點擊「系統和安全」→「管理工具」,並在打開的「管理工具」窗口中找到並雙擊「」進入。
5、在打開的「Internet(IIS)信息服務」窗口中,依次展開「PC」→「網站」→「Default Web Site」,然後切換到「內容視圖」模式,右擊「iisstart.htm」,從彈出的右鍵菜單中選擇「瀏覽」項。
6、如果此時能打開網頁,則表示IIS已安裝完成,Web伺服器就搭建成功啦。
Ⅵ web伺服器怎麼搭建
1、首先在控制面板中打開「管理工具」,打開「Internet信息服務(IIS)管理器」;
2、點擊我們的伺服器,展開,然後右鍵點擊「應用程序池」,選擇「添加應用程序池」打開;
3、在彈出的對話框中填寫好應用程序池的名稱、.net版本、託管管道模式選擇「集成」,選好了之後點擊確定;
4、添加好了應用程序池之後,我們右擊這個應用程序池,選擇「高級設置」;
5、在彈出的對話框中,常規一欄中,在「啟動32位應用程序」處選擇「True」,然後點擊確定,這樣應用程序池就ok了;
6、然後我們右擊「網站」,選擇「添加網站」;
7、在彈出的對話框中,我們填入網站的名稱,應用程序池處就選擇剛才我們新建的那個應用程序池,然後選擇物理路徑,再把ip地址和的埠填上,主機名處我們填上域名,如果沒有就可以不填;
8、填寫完成之後,我們就點擊「確定
Ⅶ windows7web伺服器怎麼配置
win7搭建web伺服器步驟:
1、首先打開開始菜單中的控制面板選擇,在控制面板中選擇並打開「程序」,找到並雙擊「打開或關閉Windows功能」,在彈出的窗口中選擇「Internet信息服務」下面所有選項,點擊確定,然後就會開始更新服務,等待一會;
2、等待更新完成之後,打開瀏覽器,在瀏覽器地址欄上輸入「http://localhost/」,然後回車,如果此時出現IIS7歡迎界面,說明Web伺服器已經搭建成功。
3、當web伺服器搭建成功後,下一步要做的就是把我們開發的網站安裝到Web伺服器的目錄中,一般情況下,當Web伺服器安裝完成之後就會創建 路徑「%系統根目錄%inetpub/wwwroot」,只要將我們開發的網站復制到該路徑下,就可實現本地訪問該網站;
4、接著設置防火牆,讓區域網中的其它計算機也能訪問本地網站資源,操作方法:依次打開「控制面板--系統和安全」,然後點擊「允許程序通過Windows防火牆」,在彈出的對話框,選擇勾選「萬維網服務HTTP」右側的兩個復選框,點擊確定退出。
5、最後在區域網中其它計算機上,打開瀏覽器輸入「http //Web伺服器的IP地址/」,然後回車即可訪問伺服器上的資源。
Ⅷ 二級路由器下如何搭建web伺服器
80埠封了,你只能做非80埠。你可以做穿透。至於你說的教程,網上一大堆。而且有個事情,你搭建網站,拿來測試一下可以,如果拿來運營,賺錢。就是涉嫌違法。因為你沒有許可證。私自搭建伺服器。
Ⅸ 怎麼用nginx在windows上搭建web伺服器
怎麼用nginx在windows上搭建web伺服器解決方法
所需工具:
一台聯網的電腦
phpStudy 2014版
windows 2003 server sp2伺服器一台
1.phpstudy安裝在第四步時選擇Nginx&php
Ⅹ 如何在Win8系統中搭建Web伺服器
對於網站開始人員來說,搭建WEB伺服器是實現開發的第一步,也是所必須具備的基本技能。同時對於剛接觸WEB設計的人員來說,這也是自我學習的開始。今天就讓我們一起來學習一直在Win8系統中搭建WEB伺服器的基本方法,希望對大家有所幫助。
操作步驟如下:
1、將滑鼠移動到桌面右下方,然後從彈出的擴展菜單中點擊「設置」按鈕,將在打開的擴展窗口中選擇「控制面板」項進入。
2、在打開的「控制面板」窗口中,依次點擊「程序」→「啟動或關閉Windows功能」。
3、接著在打開的「Windows窗口」功能窗口中,勾選「Web管理工具」下面所有地的選項,勾選「萬維網服務」下面的「應用程序開發」下所有選項。如圖所示,最後點擊「確定」按鈕,以便完成更新過程。
參考鏈接:http://www.niangyixia.com/jiaocheng/qita/11322.html