linuxweb
『壹』 在linux平台怎樣進行網頁web開發
你可以用node, nginx, apache等等做伺服器,前端調試就用瀏覽器。
linux下做java開發需要搭建java開發環境:jdk是 Java 語言的軟體開發工具包,Tomcat是Java環境下WEB伺服器, Eclipse 是一個開放源代碼的、基於Java的可擴展開發平台;這三個工具,方法如下:
1、JDK的安裝
#執行下面命令安裝JDK(首先創建/opt/java目錄)
tar -xvf jdk-7u9-linux-i586.tar.gz -C /opt/java
ln -s /opt/java/jdk1.7.0_09 /opt/java/jdk //創建一個鏈接
vi /etc/frofile //設置環境變數
export JAVA_HOME=/opt/java/jdk
exprot PATH=$JAVA_HOME/bin:$PATH
#相當於重新設置PATH=JAVA_HOME/bin+PATH
#配置好之後要用命令source /etc/profile
#執行java -version 命令測試一下jdk是否安裝成功
2、tomcat的安裝
#解壓安裝
tar -xvf apache-tomcat-6.0.10.tar.gz -C /opt/tomcat/
ln -s /opt/tomcat/apache-tomcat-6.0.10 /opt/tomcat/tomcat6.0 //創建一個鏈接
cd /opt/tomcat/tomcat6.0/bin
./startup.sh
#打開瀏覽器測試一下,輸入http:localhost:8080,看有沒有貓標識的頁面出來,有的話就說明安裝成功了。
3、eclipse的安裝
gunzip eclipse-java-juno-SR2-linux-gtk.tar.gz
tar -xvf eclipse-java-juno-SR2-linux-gtk.tar -C /opt
#然後去圖形界面進入/opt/eclipse目錄,運行eclipse,就可以打開eclipse界面了。
『貳』 如何在linux下判斷web服務是否開啟
第一步,輸入命令:netstat -tlnp
命令解釋:列出系統裡面監聽網路的TCP連接和相應的進程PID。
參數說明:
-t:表示列出TCP連接
-l:表示列出正在網路監聽的服務
-n:表示以埠號來顯示
-p:表示列出進程PID
第二步,看看Local Address這一列下面有沒有埠號是80的那一行,如果有的話說明Web服務是開啟的。如果想找特定的Web服務程序(比如Apache),還可以看看Program name這一列下面有沒有這個Web程序,如果有也可以斷定Web服務是開啟的。
『叄』 如何在 Linux 下通過 WEB 認證方式上網
問題就在這些 Web 頁面使用 IE 方言的 JavaScripts 上,有幾種解決方法:
1。使用 Linux 下 IE 兼容的瀏覽器,有嗎?誰知道請告訴我。
2。使用 wine + IE 的方法,有成功的嗎?大家共同分享。
3。如果將這些鳥語改為普通話,我們就可以用 Mozilla 等非 IE 瀏覽器通過 Web 認證方式上網了。
4。要求 ISP 提供支持 W3C 標準的認證頁面。
5。分析 web 認證的原理,編寫認證程序。
最理想的方法四,可是我等不急,也不一定能等到,也許你比我幸運。我採取第三種方法,對於方法三,你一定會問:認證頁面在 Web Server 上,我無權修改,行不通。確實如此,這里有個變通的辦法:下載認證頁面,按照 JavaScripts 標准修改並保存在本地,每次上網前用本地經過修改的 Web 認證頁面而非 Web Server 的認證頁面就可以了。具體修改方法, 找出認證頁面使用 IE 方言的 JavaScritps,根據對照表提供的修改建議對你的認證頁面作出相應修改。對於使用.cab 的認證頁面,情況就比較復雜。需要分析這個.cab 在你的 JavaScripts 中的用法,判斷它的功能,我這里是用它獲得本地 IP。所以,我在本地執行腳本獲得 IP 來模擬這個功能。似乎.cab 多與 IP 有關。
一個例子
* 以我這里為例,我的使用環境:
ISP:鐵通 ADSL
認證方式:Web 認證
ISP 的接入伺服器:華為 Quidway MA5200E/F (具體型號不能完全確定)
Linux:GENTOO 1.4 rc-3
Browser: Mozilla 1.4a/Phoenix 0.5
* 在 Linux 下用 mozilla (一定要用非 IE 瀏覽器獲得認證頁面,這話有點多餘,但有的用戶是在 Window$ 下調試的),訪問 ISP 的 WEB 認證頁面時,瀏覽器中沒有顯示任何內容,根本無法輸入帳號和密碼,更談不上通過認證。這難不倒咱 linuxer, 查看認證頁面(/index.jsp)源碼,發現這兩段 javascript:
id="PortalClient"
codebase=http://61.61.61.61:80/PortalAX.cab#version=1,0,1,8
...
var clientIp = PortalClient.localIP;
var languagetype = 0;
if ((clientIp=="")(clientIp==null)) {
window.parent.location.href="/ipError.jsp";
} else {
window.parent.location.href="/queryPort.jsp?ip="+clientIp+"newbl="+languagetype;
}
可以看出它用 PortalClient 獲得本地的 IP,如果成功,轉到 http://你的WEB認證頁面/queryPort.jsp?ip=你當前的IP 。而 Mozilla 不支持它獲取 IP (PortalClient,是針對IE的,唉,這個程序編得太短視),看來問題出在這里。既然如此,我們可以手工加上自己的 IP(這個 IP 是與 ADSL 相聯的網卡從 ISP 的 DHCP 伺服器獲得的地址)。在 Mozilla 地址欄中輸入:
http://61.61.61.61/queryPort.jsp?ip=192.168.0.2
--------^^^^^^^^^^^------------------^^^^^^^^^^^
--------你的ISP認證伺服器 ------------- 你當前的IP
嗒嗒,登錄頁面出來啦!
趕快輸入帳號,密碼,按登錄按鈕(期待中。。。)。
viva!!!
ISP 的首頁終於被揪出來啦,在終端中 ping www.gnu.org ,ping 通,沒問題。
* 至此,在 Linux 下 web 認證方式已經完成。方法很簡單,每次上網時,在 mozilla 的地址欄中輸入:
http://你的ISP認證伺服器地址/queryPort.jsp?ip=你當前的IP
登錄頁面出來後,和 IE 中的操作過程完全一樣。
* 當然你可以把這些步驟寫成一個腳本,以後簡單執行腳本就可以了。
#!/bin/bash
dhcpcd eth1
phoenix http://61.61.61.61/queryPort.jsp?ip=`ifconfig eth1grep inetsed 's/^ *//'sed 's/ /:/g'cut -f3 -d:` &
說明:
eth1 是與 ADSL 聯的網卡名,根據你的實際情況填寫。
61.61.61.61 是我這 ISP 的認證地址。
後面一段是獲得 eth1 的 ip 地址。
注意!一定要用非 IE 瀏覽器獲得調試認證頁面,因為 IE 可以執行認證頁面的 JavaScripts,有些認證過程實際上是執行多個頁面完成的,IE 最後停留的頁面不一定是起始的認證頁面,你有可能漏掉前面的重要信息,我這里就是這種情況。
另外一種方法
如果你對方法 3 不滿意,可以用方法 5,繼續分析 web 認證的原理,編寫自己的認證程序。其實搞清原理後,實現的方法更簡單,更靈活,而且在 ISP 要求客戶端定時發送 keep-alive 包的情況下,也只能採取這種方法。我是這樣做的:
1。用網路分析軟體(如:ethereal),抓取正常認證過程的通訊包;
在 windoze 下,用 ethereal 抓包。注意抓包時,除了 IE 不要啟動其它產生網路通訊的程序,以免產生干擾數據;保存這些通訊包。
2。分析所抓包的內容;
只要看一眼 web 認證過程產生的通訊包,你就明白我為什麼說這種方法更簡單了。簡單講,web 認證方式實際是客戶端用 http 協議向 ISP 發送用戶名、密碼和 IP 等內容的過程。客戶端讀取認證頁面;將填寫好認證頁面表格發送到 ISP 的認證伺服器。過程就這么簡單。
3。編寫生成這些包的程序;
用任意一個支持 http 協議的語言或工具,編寫向認證伺服器 POST 認證頁面中 form 的程序即可,甚至讀取認證頁面都不需要。我用 curl 和 python 各做了一個。如果你略微了解 http 協議,只要找到認證頁面中向伺服器 POST 用戶名、密碼等數據的 form,然後轉換為你採用語言的語法格式就可以了,根本不需要分析認證頁面中繁雜的 Javascripts。對計時窗發出的 keep-alive 包也採用同樣的方法。
例子:
* 認證頁面中的 form
action="http://xxxxxxx:80/secu/webLogin.jsp">
type="hidden" name="connectname" value="">
name="connecttype" type="hidden">
type="hidden">
value="192.168.000.000" name="localip" type="hidden">
name="IsIndex" type="hidden"> 用戶名: 密 碼:name="password" type="password"> type="submit">
* 用 curl 寫的一個腳本:
#!/bin/bash
/etc/init.d/myiptables start
dhcpcd eth1
MYIP=`ifconfig eth1grep inetsed 's/^ *//'sed 's/ /:/g'cut -f3 -d:`
echo $MYIP
UN=88888888
SERVER=61.61.61.61
curl --trace trace.txt -A 'Mozilla' -d "username=$UN&password=8888&localip=$MYIP&connectname=&connecttype=-1" http://$SERVER/secu/webLogin.jsp
說明:curl 是一個用 url 語法傳輸文件的命令行程序,支持 http,ftp 等協議,類似 wget。
上例中,curl 的命令行參數 -A 指明客戶端的類型,這是伺服器為了安全,需要指明。Mozilla 或 IE 都可以,我更願意用 Mozilla。 -d 是必需的,表示用 POST 方法。-d 後的內容就是用戶名、密碼 IP 地址等信息,根據你的認證頁面中 form 的 input 項目填寫,內容與其保持一致,參數間用 & 分開。後面是認證頁面的地址。執行這個腳本後,返回 200 OK,表示認證成功,否則,仔細檢查 -d 後的參數是否正常,地址是否正確。
* 用 python 寫的認證程序:
#!/usr/bin/env python
import httplib, urllib
params = urllib.urlencode({'connectname': '',
'connecttype': -1,
'consumeright': 0,
'separatecard': 0,
'localip': '192.168.000.000',
'IsIndex': 0,
'username': 88888888,
'password': 8888})
headers = {'Accept': 'text/html', 'User-Agent': 'Mozilla',
'Content-Type': 'application/x-www-form-urlencoded'}
server = '61.61.61.61'
path = '/secu/webLogin.jsp'
conn = httplib.HTTPConnection(server)
conn.request("POST", path, params, headers)
r1 = conn.getresponse()
print r1.status, r1.reason
data1 = r1.read()
print data1
conn.close()
產生 keep-alive 包的程序
#!/usr/bin/env python
import httplib
def testHttplib(server, path):
req = httplib.HTTP(server)
req.putrequest('GET', path)
req.putheader('Accept', 'text/html')
req.putheader('User-Agent', 'Mozilla')
req.endheaders()
ec, em, h = req.getreply()
fd = req.getfile()
return fd.read(), (ec, em)
myip = '192.168.000.000'
server = '61.61.61.61'
path = '/ClientProcess.jsp?MsgType=1&ISNNO=1001&LocalIP=' + myip
# print 'testing "%s%s"' % (server, path)
dataHttplib, result = testHttplib(server, path)
# print "data length (httplib):", len(dataHttplib), result
# print dataHttplib
說明:
python 是一個功能強大的腳本語言,與 Perl 類似。正如你看到的,它和 curl 完成同樣的工作,但更優雅。這里要注意別漏掉'User-Agent' 和 'Content-Type' 內容,我在這個上面浪費了不少時間。其它與 curl 的說明一樣。
最後,將下面內容加到 crontab 中,保證每 5 分鍾向 ISP 發送一個 keep-alive 包,模擬計時窗功能。
『肆』 如何在linux搭建完整的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
『伍』 linux web前端開發有什麼優勢嗎
服務端 一般都用linux 因為有那幾個殺手級的應用
至於前端 為什麼用linux
你可以模擬服務端
ruby nodejs 在linux 運行更好 這些開源語言會第一時間支持linux
我知道豆瓣 伺服器是gentoo 用的語言是python 他們的程序員 貌似用的是蘋果系統
『陸』 Linux中Web伺服器的配置
你可以通過以下三種方法安裝Apache伺服器。
1.如果你安裝的Linux版本中帶用Apache的話,就在選擇所要安裝的服務
器的時候,將httpd這個服務選上,Linux安裝程序將自動完成Apache的安裝工
作,並做好基本的配置。
2.使用可執行文件軟體包,這比較適合那些對編譯工作不是太熟悉的初級
用戶,因為它相對比較簡單。
下載軟體包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
這就完成了安裝工作,簡單吧!
如果你使用的是RedHat Linux的話,你也可以下載apache_1.2.4.rpm軟體
安裝包,然後使用rpm -ivh apache_1.2.4.rpm命令安裝。
3.如果你想把Apache伺服器充分利用起來的話,就一定要自己編譯
Apache定製其功能。
下載包含Apache源代碼的軟體包apache_1.2.4.tar.gz; 然後用tar命令將它解
開; 將當前目錄改變為Apache源代碼發行版的src目錄; 將配置樣本文件
(Configuration.tmpl)復制為Configuration文件;
編輯Configuration文件中的配置選項:
Makefile配置選項:一些編譯選項:
. "CC="一行指定用什麼編譯軟體編譯,一般為"CC=gcc";
. 如果需要將額外的標志(參數)指定給C編譯軟體,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系統需要特殊的庫和包含文件,可以在這里指定它們:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改變代碼優化設置的話,你須將下面一句去掉注釋,然
後改成你所需要的值:
#OPTIM=-O2
Rule配置選項:用來決定需要什麼功能,一般情況下無需改變。
模塊配置:模塊是Apache的組成部分,它為Apache內核增加新功能。通過使用
模塊配置,可以自定義在Apache伺服器中需要什麼功能,這個部分也是Apache
靈活性的表現。模塊配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache伺服器具備什麼功能,就將那個模塊用AddMole語句加到配
置文件Configuration中去。
下表列出了Apache的模塊功能:
模塊名 功能 預設
mod_access 提供基於主機的訪問控制命令 y
mod_actions 能夠運行基於MIME類型的CGI腳本或HTTP請求方法 y
mod_alias 能執行URL重定向服務 y
mod_asis 使文檔能在沒有HTTP頭標的情況下被發送到客戶端 y
mod_auth 支持使用存儲在文本文件中的用戶名、口令實現認證 y
mod_auth_dbm 支持使用DBM文件存儲基本HTTP認證 n
mod_auth_mysql 支持使用MySQL資料庫實現基本HTTP認證 n
mod_auth_anon 允許以匿名方式訪問需要認證的區域 y
mod_auth_external支持使用第三方認證 n
mod_autoindex 當缺少索引文件時,自動生成動態目錄列表 y
mod_cern_meta 提供對元信息的支持 n
mod_cgi 支持CGI y
mod_dir 能夠重定向任何對不包括尾部斜杠字元命令的請求 y
mod_env 使你能夠將環境變數傳遞給CGI或SSI腳本 n
mod_expires 讓你確定Apache在伺服器響應請求時如何處理Expires y
mod_headers 能夠操作HTTP應答頭標 y
mod_imap 提供圖形映射支持 n
mod_include 使支持SSI n
mod_info 對伺服器配置提供了全面的描述 y
mod_log_agent 允許在單獨的日誌文件中存儲用戶代理的信息 n
mod_log_config 支持記錄日誌 y
mod_log_referer 提供了將請求中的Referer頭標寫入日誌的功能 n
mod_mime 用來向客戶端提供有關文檔的元信息 y
mod_negotiation 提供了對內容協商的支持 y
mod_setenvif 使你能夠創建定製環境變數 y
mod_speling 使你能夠處理含有拼寫錯誤或大小寫錯誤的URL請求 n
mod_status 允許管理員通過WEB管理Apache y
mod_unique_id 為每個請求提供在非常特殊的條件下保證是唯一的標識 n
在src目錄下執行:". /configure";
編譯Apache:執行命令"make";
根據機器性能的不同,經歷一段5-30分鍾的編譯,就大功告成了。
將編譯好的可執行文件httpd復制到/etc/httpd/bin目錄下;
將Apache發行版的配置文件:access.conf、httpd.conf、mime.types、
srm.conf文件復制到/etc/httpd/conf目錄下。到此為止,安裝完成。
『柒』 如何在Linux 中搭建一個web伺服器
web伺服器的簡單搭建
1、安裝一個可以提供web服務的軟體
yum -y install httpd
2、 啟動httpd服務
systemctl start httpd
3、進入主配置文件
vim /etc/httpd/conf/httpd.conf
在此范圍內添加或刪除設置,為了方便編寫,編輯了一個子配置文件/etc/httpd/conf.d/httpd-vhosts.conf
4、 編輯子配置文件
vim /etc/httpd/conf.d/httpd-vhosts.conf 此路徑必為conf.d/*.conf (意:為.conf 後綴命名)
systemctl restart httpd 重啟服務
5、 編輯頁面測試文件
在web服務中默認存放網頁文件的路徑:/var/ chaodiquan.com /html
默認網頁文件名字:index.html
6、 瀏覽器測試
ifconfig ens33 查看ens33網卡的地址
在瀏覽器裡面 輸入你的IP就可以看到測試文件里 希望可以幫助到的哈!
『捌』 web開發和linux嵌入式開發
Web開發可以理解為做網站.
C/S的開發是伺服器,客戶端模式,這種模式下用戶必須要安裝客戶端軟體才能夠使用系統的功能,而一旦有更新,用戶必須重新下載客戶端。
Web開發的B/S,瀏覽器/伺服器模式則無需客戶端軟體,只要客戶端安裝Web瀏覽器就能夠使用系統功能,而系統的更新也只需要管理員替換伺服器文件就可以實現,無需用戶去下載客戶端。
Linux嵌入式開發
嵌入式的linux主要有幾點:
1)你要學會根據你硬體電路及應用的需要對內核進行裁減。
2)學會安裝linux系統及為了嵌入式應用而需要的相關軟體,如GCC編譯器,交叉編譯工具,TFTP伺服器等,這些東西的操作和windows有挺大區別的。
3)找本linux C編程的書,學一下linux中C的編程以及編譯的方法,其中Makefile的製作是其與其他系統區別較大的。
4)學會根據電路修改你的bootloader,現在一般是標準的硬體,往往可以省略了
5)其實內核的移植也是挺重要的,不過往往做核心板的人已經幫你做好了
6)嘗試如何使用bootloader下載程序,包括串口,乙太網等方式。
7)當然學習使用Qt做界面也是必不可少的。
8)。。。。。。。