日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ubuntu搭建lighttpd以及cgi配置

發布時間:2023/12/3 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 ubuntu搭建lighttpd以及cgi配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ubuntu搭建Lighttpd服務器以及CGI配置

這里我的源碼都放在/usr/local/src/下

一、安裝pcre(正則表達式庫,解決C語言中使用正則表達式的問題)

1、下載地址:

? ? http://www.pcre.org/????里面選pcre、pcre2都可)

2、解壓

????tar -zxvf pcre2-10.30.tar.gz??

3、配置安裝

1)進入Pcre目錄

cd ?pcre2-10.32

2)配置

?? ./configure

3)編譯

? make

4)安裝

make install


?

二、安裝bzip2

1、下載地址

http://www.bzip.org/

2、解壓

? ?tar -zxvf bzip2-1.0.6.tar.gz

3、配置安裝

1)進入bzip2目錄

cd bzip2-1.0.6

2)設置配置選項

make -f Makefile-libbz2_so

-f 標志使bzip根據另一個Makefile來編譯(Makefile-libbz2_so),生成 libbz.so,然后把bzip2工具連接到這個庫上

3)編譯安裝

make && make install


?

三、安裝Lighttpd

1、下載地址

http://www.lighttpd.net/download/????(lighttpd-1.4.53 )

?

2、解壓

tar -zxvf lighttpd-1.4.53.tar.gz

3、安裝

1)創建目錄

創建lighttpd(/usr/local/src/lighttpd)

mkdir /usr/local/src/lighttpd

2)進入源碼目錄

cd /usr/local/src/lighttpd-1.4.53

3)配置安裝目錄

./configure --prefix=/usr/local/src/lighttpd

4)編譯安裝

make && make install

4、配置服務器

1)創建相關文件

在/usr/local/src/lighttpd下創建相關文件

mkdir {cache,config,log,sockets,run,www,vhosts}

?

?

2)拷貝源文件doc/config目錄下的lighttpd.conf、modules.conf、conf.d文件夾到安裝目錄的config下

?cp?/usr/local/src/lighttpd-1.4.53/doc/config/lighttpd.conf /usr/local/src/lighttpd/config

cp /usr/local/src/lighttpd-1.4.53/doc/config/modules.conf /usr/local/src/lighttpd/config

cp -r /usr/local/src/lighttpd-1.4.53/doc/config/conf.d /usr/local/src/lighttpd/config

?

3)修改lighttpd.conf

//var.xxx是建立一些變量,用來給server.xxx賦值

?

var.log_root ???= "/usr/local/src/lighttpd/log"

?//日志的目錄,運行起來后會在該目錄下生產access.log ?error.log文件

?

var.server_root = "/usr/local/src/lighttpd/www"

var.state_dir ??= "/usr/local/src/lighttpd/run"

//運行起來會在該目錄下創建lighttpd.pid

?

var.home_dir ???= "/usr/local/src/lighttpd"

var.conf_dir ???= "/usr/local/src/lighttpd/config"

?

var.vhosts_dir ?= home_dir + "/vhosts"

?

var.cache_dir ??= home_dir+"/cache"

?

var.socket_dir ?= home_dir + "/sockets"

?

server.port = 80

?//服務器端口號,80是默認的,瀏覽器訪問不用加端口號 如果已經被占用,可改 ??為8080,瀏覽器訪問要加 :8080

?

server.use-ipv6 = "disable" //禁止使用IPV6

?

server.bind = "192.168.112.128" ?

//綁定ip地址,虛擬機的IP,主機如果要訪問虛擬機要保證能ping通,不行的話 ??//在主機中打開VMnet8虛擬網卡

?

server.username ?= "nobody"

//設置用戶名和組名,nobody為任何人都可以等于系統

#server.groupname = "nobody"// 用戶組這邊沒有nobody,直接注釋掉這行

?

server.document-root = server_root + "/webpages"

//設置網站文件根目錄,瀏覽器訪問就是訪問到這個目錄下的文件

?

server.pid-file = state_dir + "/lighttpd.pid"

//指定pid文件運行起來自動創建

?

server.errorlog = log_root + "/error.log" //log_root下創建error.log

?

server.upload-dirs = (home_dir + "/upload")

?

注意如果服務器運行起來要創建文件的目錄下不能創建文件,把那個文件夾權限改為777

?

4)測試服務器

  • cd /usr/local/src/lighttpd/sbin
  • 測試Lighttpd.conf文件語法是否正確

./lighttpd -t -f ../config/lighttpd.conf

? ? ? ? ? ?返回 Syntax OK 表示正確

  • 啟動lighttpd ?./lighttpd -f ../config/lighttpd.conf

? ? ? ?停止服務器pkill lighttpd

  • 啟動服務器后在document-root目錄下創建index.html

? ? ? ?內容寫hello world!

  • 在瀏覽器輸入http://192.168.112.128(填lighttpd中bind的ip)

? ? ? ? 如果出來網頁并顯示hello world!說明服務器搭建成功

?

5、配置CGI

1)修改modules.conf

?

server.modules = (

??"mod_access", //基礎模塊

# ?"mod_cgi",

??"mod_alias", //路徑綁定 用來指定CGI路徑

# ?"mod_auth",

# ?"mod_authn_file",

# ?"mod_evasive",

# ?"mod_redirect",

# ?"mod_rewrite",

# ?"mod_setenv",

# ?"mod_usertrack",

)

?

?

##

## plain old CGI (mod_cgi)

##

include "conf.d/cgi.conf" //引入cgi.conf

?

注意上面server.modules 不用添加CGI模塊,因為在conf.d/cgi.conf里面有server.modules += ( "mod_cgi" ),如果這里添加了,會報錯:

?Cannot load plugin mod_cgi more than once, please fix your config lighttpd may not accept such con

?

2)修改cgi.conf

CGI程序可以用C/C++語言等需要編譯的語言寫,也可以用python、perl、ruby等直接解釋執行的語言寫,這兩種他們的執行方式是不同的:一個是程序直接可以被執行;一個是需要特定的語言解釋器來執行。這樣的話,web server配置時也會不同。

?

這里有兩種方式

方式一:不重定向路徑,cgi文件要放在document-root下,訪問時加document-root下路徑。

?

?

cgi.assign??= ( ".pl" ?=> "/usr/bin/perl",

?????????????????# ".cgi" => "/usr/bin/perl",

?????????????????".cgi" => "", ?//設置.cgi文件不需要解釋器(本來就是編譯好的可執行文件)

?????????????????".rb" ?=> "/usr/bin/ruby",

????????????????".erb" => "/usr/bin/eruby",

????????????????".py" ?=> "/usr/bin/python" )

?

訪問:http://192.168.112.128/cgi-bin/h.cgi

? ? ? ? ?(h.cgi放在/usr/local/src/lighttpd/www/webpages/cgi-bin/h.cig)

? ? ? ? ??http://192.168.112.128/h.cgi

? ? ? ? ?(h.cgi放在/usr/local/src/lighttpd/www/webpages/h.cig)

?

?

方式二:重定向路徑,cgi文件要放在重定向的目錄下,訪問時加重定向的路徑

?

cgi.assign ?= ( ".pl" ?=> "/usr/bin/perl",

???????????????# ".cgi" => "/usr/bin/perl",

???????????????# ".cgi" => "", //設置.cgi文件不需要解釋器(本來就是編譯好的可執行文件)

???????????????".rb" ?=> "/usr/bin/ruby",

???????????????".erb" => "/usr/bin/eruby",

???????????????".py" ?=> "/usr/bin/python" )

?

?

alias.url += ( "/cgibin" => home_dir + "/cgibin" )

//使用alias之前server.modules要添加mod_alias做重定向

//重定向路徑cgibin到/usr/local/src/Lighttpd/cgibin,重定向的路徑可以不放在//document-root下

?

$HTTP["url"] =~ "^/cgibin" {

???cgi.assign = ( "" => "" )

//所有cgibin目錄下的程序,不需要語言解釋器(cgi.assign = ( "" => "" )),直接被執行

}

訪問 http://192.168.112.128/cgibin/h.cgi ?

?//cgibin在/usr/local/src/Lighttpd/cgibin

?

方式二另一個重定向位置舉例

alias.url += ( "/cgi-bin" => server_root + "/webpages/cgi-bin" )

//cgi-bin重定向到/usr/local/src/Lighttpd/www/webpages/cgi-bin

?

$HTTP["url"] =~ "^/cgi-bin" {

???cgi.assign = ( "" => "" )

}

訪問http://192.168.112.128/cgi-bin/h.cgi

?//cgi-bin在/usr/local/src/Lighttpd/www/webpages/cgi-bin

?

?

除去以上兩種方式外,其他的程序(既不以特性的后綴結尾,也不放到指定目錄下),會被當成文件被下載。

?

?

?

3)測試cgi

在cgi-bin中創建hello_cgi.c

內容

#include "stdio.h"

int main()

{

????????printf("Content-type:text/plain\r\n\r\n");

????????printf("hello_cgi\n");

????????return 0;

}

編譯 :gcc hello_cgi.c -o h.cgi

瀏覽器輸入 http://192.168.112.128/cgi-bin/h.cgi

如果出現hello_cgi 表示成功

總結

以上是生活随笔為你收集整理的ubuntu搭建lighttpd以及cgi配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。