其實(shí)這幾天我感覺我自有點(diǎn)像個(gè)前端+后端的菜鳥程序員笤虫。完全靠自己摸索旁瘫,找了一臺(tái)電腦,在實(shí)驗(yàn)室的局域網(wǎng)里面搭建了一個(gè)服務(wù)器琼蚯,構(gòu)建了一個(gè)動(dòng)態(tài)的包含數(shù)據(jù)庫的網(wǎng)站.
不過話說回來酬凳,我發(fā)現(xiàn)干這個(gè)活挺開心的,寫PHP和前端的時(shí)候遭庶,寫著寫著就是凌晨2點(diǎn)了宁仔,雖然說我已經(jīng)連續(xù)幾天都是凌晨2點(diǎn)回的宿舍,但是一旦會(huì)構(gòu)建動(dòng)態(tài)網(wǎng)站之后峦睡,后面就有好多有意思的東西可以玩了(比如我在網(wǎng)站上掛了一個(gè)我修改的坦克大戰(zhàn)游戲翎苫,修改版切水果大戰(zhàn),可以讓實(shí)驗(yàn)室的同學(xué)們休息之余樂一樂)榨了。
好了煎谍,我不能再這樣不務(wù)正業(yè)了,身體明顯吃不消了龙屉,其實(shí)我搭建網(wǎng)站什么的主要還是為了學(xué)習(xí)生物信息學(xué)呐粘,特別是了解數(shù)據(jù)庫這一塊。
記錄一下這個(gè)過程转捕,以后可以快速建站:
1 準(zhǔn)備階段
我之前寫過的一篇拆電腦文章
http://www.reibang.com/p/0f366d79c147
對的作岖,我就是在這個(gè)電腦上搭建的服務(wù)器數(shù)據(jù)庫和網(wǎng)站。當(dāng)然后來我換了一個(gè)IT的硬盤進(jìn)去瓜富,之前的硬盤都?jí)牧恕?/p>
2 系統(tǒng)準(zhǔn)備
ubuntu 16.04 這個(gè)可以在zju的鏡像里面下載鳍咱,內(nèi)網(wǎng)速度比較快
然后刻錄到U盤啟動(dòng)盤
3 網(wǎng)絡(luò)配置
其實(shí)裝好系統(tǒng)之后降盹,網(wǎng)絡(luò)配置這一塊最重要与柑,還好ubuntu 可以圖形界面設(shè)置谤辜,連接上網(wǎng)線,設(shè)置固定IP价捧,然后子網(wǎng)掩碼丑念,網(wǎng)關(guān),OK结蟋,局域網(wǎng)設(shè)置成果
光有局域網(wǎng)不行的脯倚,要連接外網(wǎng)才可以下載。還好實(shí)驗(yàn)室有個(gè)同學(xué)在github 上下載了源碼然后自己修改后編寫可以連接校園網(wǎng)的一個(gè)軟件嵌屎,多虧了他啊推正,不然我可能今天還沒連接上外網(wǎng)。
4 apache + PHP + MySQL 一起安裝
這里體現(xiàn)了ubuntu 的好處 其實(shí)只要一個(gè)命令就可以了宝惰,比我以前在mac上一個(gè)一個(gè)安裝好
先安裝 tasksel
選擇 LAMP server
OK 啦植榕,這個(gè)真的不錯(cuò),讓程序員有更多時(shí)間可以用來想方法尼夺,而不是操作簡單的安裝
- 下載 phpmyadmin
sudo apt-get install phpadmin
這個(gè)web 方式管理MySQL 非常贊
4 好了其實(shí)很多書上說到這里結(jié)束了尊残,因?yàn)榇_實(shí)已經(jīng)構(gòu)建好了
可是對我這樣的小白來說,到底怎么進(jìn)行啊淤堵,我接下來怎么建站啊
對了寝衫,相信很多人和我一樣,就是會(huì)卡在這種地方拐邪,我這個(gè)時(shí)候就希望有個(gè)人來我身邊手把手教我怎么搭建動(dòng)態(tài)數(shù)據(jù)庫慰毅。
5 設(shè)置 apache 的配置文件
把和php 有關(guān)的extension 文件激活
設(shè)置文件的文章,我以前也記錄過扎阶,多虧hoptop同學(xué)以前讓我記錄事富,這樣我一下子就配置完成了。
6 總是有些意外乘陪,版本升級(jí)問題
我安裝的是PHP7 這個(gè)版本统台,重啟apache服務(wù)器之后,還是無法連接數(shù)據(jù)庫localhost/phpmyadmin 這個(gè)地址啡邑。
原來新版本要設(shè)置一個(gè)PHP.ini文件贱勃,而這個(gè)文件在apache 文件夾里面,所以也要找到這個(gè)文件谤逼,這個(gè)文件是apache 和 PHP連接的關(guān)鍵文件贵扰。進(jìn)去把extension 激活。
每個(gè)人遇到的問題都不一樣流部,要善于利用百度戚绕,其實(shí)我遇到的問題,大多數(shù)人都遇到過枝冀。
7 在/var/www/html/中設(shè)置主頁
其實(shí)到這里我都是會(huì)的舞丛,因?yàn)橹笆罴傥乙呀?jīng)摸索過一遍如何建立靜態(tài)網(wǎng)站耘子,我想知道是如何搭建數(shù)據(jù)庫來保存前段的數(shù)據(jù),并使得前段可以來調(diào)用數(shù)據(jù)球切,達(dá)到動(dòng)態(tài)網(wǎng)站的目的谷誓。
8 需要編寫一個(gè)html PHP 就可以了
總的來說,就是用一個(gè)表單跳轉(zhuǎn)的方式吨凑,把全段輸入的內(nèi)容存在變量里面捍歪,然后post到PHP寫的一個(gè)文件,PHP 調(diào)用數(shù)據(jù)庫鸵钝,打開數(shù)據(jù)庫糙臼,插入表格,傳遞變量恩商。
具體可以學(xué)習(xí)這個(gè)網(wǎng)站:
http://www.runoob.com/php/php-mysql-insert.html
最后我做了一個(gè)簡單的報(bào)名網(wǎng)站弓摘,可以查看實(shí)時(shí)的報(bào)名信息。
html 和php代碼我就不掛了痕届,因?yàn)槲一臼蔷W(wǎng)上copy然后自己稍微改一改韧献,并不是原創(chuàng)。
就是這樣一個(gè)簡單的網(wǎng)頁
在前段輸入姓名和年齡研叫,表單會(huì)跳轉(zhuǎn)到PHP寫的一個(gè)文件锤窑,這個(gè)文件打開數(shù)據(jù)庫,插入剛剛寫的信息嚷炉。
點(diǎn)擊下面這個(gè)紅色按鈕渊啰,也是跳轉(zhuǎn)到一個(gè)PHP寫的文件,他會(huì)打開數(shù)據(jù)庫申屹,調(diào)出報(bào)名者的信息绘证。
后記
好啦,雖然這是一個(gè)簡陋的小網(wǎng)站哗讥,但是對于我學(xué)生物的人來說嚷那,從建立靜態(tài)網(wǎng)頁到現(xiàn)在能建立動(dòng)態(tài)數(shù)據(jù)庫,已經(jīng)是很高興了杆煞,當(dāng)然我是一個(gè)學(xué)習(xí)生物信息學(xué)的人魏宽,還是要多花時(shí)間在生物信息學(xué)上面。