程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 網站開發系列1——服務器環境搭建,網站開發搭建

網站開發系列1——服務器環境搭建,網站開發搭建

編輯:關於PHP編程

網站開發系列1——服務器環境搭建,網站開發搭建


  首先,這系列的文章的受眾是剛畢業想做網站開發,或者其他開發崗位想了解網站開發的入門教程,默認讀者有計算機相關專業基礎,會跳過很多基礎,細節的原理自己百度或者之後我再補充,編程語言自身特征不會涉及很多。

  額,還是簡單自我介紹一下,我,華南農業大學軟件工程專業畢業的理工男,2012年-2014年在廣州一家叫凱蘭高的創業公司工作兩年多,主要是負責Nodejs服務器開發和技術團隊管理,2014年8月自己嘗試創業3個月以失敗告終,2014年12月在南方周末新媒體擔當了大半年的前端開發,開始接觸php開發,2015年8月份離職至今,在一家傳統行業b2b創業公司擔任技術總監,資歷尚淺,也不可能對所有編程語言和軟件都了如指掌,理解透徹,講得不對的地方還請大家指出。

學習目標:

學習過程

  • 首先從目標講起,我們的目標是創建一個網站,一個別人可以通過網址(URL)訪問的網站,所以網站必須運行在一台服務器上,為訪問的用戶提供服務,那麼提供這個服務的機器也叫做web服務器。怎麼理解服務器呢?相對於另一個名詞PC(個人電腦),通俗一點理解,服務器就是一台強大的電腦用來提供一些服務而已,而運行在這台物理機器上的軟件,根據提供的服務不一樣,我們也分為web服務器,數據庫服務器,郵件服務器,緩存服務器,代理服務器等等,而這時候web服務器的叫法也指nginx,apache這類型的軟件。

  • web服務器,也就是網站服務器,顧名思義是提供網站訪問服務的,那麼有哪些可以擔當web服務器功能的軟件呢?學習JAVA的時候,我們要安裝tomcat,學習.NET的時候,我們要安裝iis,學習PHP的時候,我們要安裝apache或者nginx,對了,tomcat、iis、apache或者nginx就是我們所說的web服務器之一。那麼,他們作為web服務器,到底提供什麼功能呢?

tomcat

 

iis

 

 

apache

 

 

nginx

為了說明web服務器的作用,我們還是先選擇其中一種編程語言,配置好運行環境,能夠訪問並返回數據,再來談web服務器起到的作用。在這裡,我選擇典型的lamp網站技術組合來說明,同時舉一反三說明其他類型的web服務器。

   首先,最簡單的hello world網站其實並不需要mysql數據庫,所以從最簡單的開始配置,windows下的可以直接使用wamp(http://www.wampserver.com/)集成,為了這個教程,花了666個大洋買了阿裡雲的linux服務器,cenos7.0 64位。

  1. 下載apache,http://httpd.apache.org/,可以下載2.4.18版本的,安裝流程詳細可參考附件:

apache安裝完畢之後,默認是安裝在/usr/local/apache2,所以為了能夠全局啟動,創建了httpd的硬鏈接,ln /usr/local/apache2/bin/httpd /usr/local/bin/。

  2. 編程語言是php,先從http://php.net/下載php,最新版本是7.0.0,不過這裡以5.6.16為例,windows有線程安全和非線程安全版本的,暫時下載線程安全版本的,具體的區別暫不做說明。

安裝php完畢之後,啟動php-fpm,暫時使用默認配置,使用TCP連接9000端口,詳細可參考附件。

  3. 然後我希望訪問本機地址localhost或者127.0.0.1時,網頁返回hello world字符串顯示到浏覽器,所以編寫一個文件命名為index.php

vim /var/www/test/index.php(目錄不存在需要先創建)

1 <?php
2 echo "hello world";

 

  • 好,到了這一步,怎樣把這三者聯系起來,實現網頁的訪問呢?

xxx.xxx.xxx.xxx - - [16/Dec/2015:15:57:51 +0800] "GET / HTTP/1.1" 200 26 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"

  4. 輸出的內容是我們寫的php文件代碼,而不是執行結果,為什麼呢?因為php是腳本語言,是需要之前安裝的php解釋執行輸出結果的,所以,下一步就是在apache的配置中,加入php,apache運行php的模式不止一種,這裡使用fastcgi模式,以後再說明其他模式的做法和原理。去掉以下兩個模塊的注釋,添加上模塊的配置,重啟apache服務器。

  LoadModule proxy_module modules/mod_proxy.so

  LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

<IfModule proxy_fcgi_module>
  ProxyPass "/" "fcgi://127.0.0.1:9000/var/www/test/index.php" enablereuse=on
</IfModule>

總結:

      當然,整個配置流程還是很多小問題要解決的,在解決這些問題的同時,也算是逼著我自己學習提高吧,有問題留下評論,我盡量解答。不過下一期,我將會做一個大逆轉,1. 我將使用Nginx作為反向代理服務器,取代apache的位置,采用LNMP架構;2. 我將配置Laravel這個PHP框架,並可以訪問Laravel的hello world首頁,Larevel也是網站開發使用的框架,而不會從零開始搭建一個網站。

附件:LAMP環境搭建

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved