Linux下搭建個人網站

2puT發表於2016-09-07


前不久在阿里買了一個伺服器,然後開始第一次嘗試搭建自己的個人網站。前端採用了bootstrap框架,後端採用的是PHP,資料庫使用的是Mysql。新手第一次在linux下搭建遇見很多問題,在這裡分享一下.
搭建網站的準備工作 :

    由於我採用的是centos系7.0系統,軟體安裝採用了yum去安裝相應的軟體,依次安裝了apache,php,以及mysql,

關於版本控制,我使用了github遠端倉庫,實現程式碼的同步,將原生程式碼上傳到伺服器,然後在centos下通過命令列將程式碼clone到/var/www/html下。

    起初沒有經驗,將程式碼從github遠端倉庫pull下來,在/var/www/html目錄下生成了一個PHP目錄,然後我將PHP中的個人網站的專案copy到/var/www/html目錄,(cp  /var/www/html/PHP/leetao  ./),然後啟動了apache,(/etc/init.d/httpd start),之間訪問遠端伺服器公網IP,apache成功啟動,然後訪問個人網站的主頁面:公網IP/leetao/,主頁面正常,這個時候我點選註冊頁面,開始嘗試註冊,發現出現500 伺服器內部錯誤。然後上網搜了一下相關資料,說是許可權問題,及apche對網站根目錄只具有讀的許可權,並不具有寫的許可權,然後使用chown -R apache:apache /var/www/htmlUbuntu 下apache的預設使用者是www-data,可以通過cat /etc/passwd檢視)以及chmod 755 /var/www/html 命令修改apache許可權。    

    折騰許久後來呼叫類方法的中間模組生效了,但是 類方法似乎沒有正確執行,也沒有返回任何錯誤,然後用vim開啟了類檔案,發現問題,在linux下開啟類檔案,檔案出現大量“^M”字樣,上網搜尋了一下出現這個現象的原因是因為MS-DOS和Windows是回車+換行表示換行,因此在linux下用vim檢視會出現"^M"的符號。但是並不是所有檔案都出現了這種問題,我在Windows下用notepad開啟出現問題以及沒有出現問題的兩種檔案,發現出現問題的檔案在notepad右下角格式均為,沒有問題的都是。然後嘗試使用vi開啟檔案,然後安Esc鍵在命令下輸入:%s/^V^M/,然而並沒有生效,後來自己手動刪除"^M",修改完成之後執行程式。

    後來後臺還是無法執行,然後我在linux下將php的的報錯功能開啟:用vim開啟php.ini配置檔案,我的配置檔案位於/etc/php.ini,因為php.ini資訊比較多,一行一行查詢顯得不太現實,按Esc鍵,進入vim命令列模式,通過/words去查詢 ,其中對於有很多查詢結果的話,按N鍵,向上查詢,按N鍵顯示下一個查詢結果,找到指定行。

 在linux下將php的的報錯功能具體步驟(在/etc/php5/apache2下):
        1.搜尋並修改下行,把Off值改成On

             display_errors = Off
        2. 搜尋下行
            error_reporting = E_ALL & ~E_NOTICE
         或者搜尋:
            error_reporting = E_ALL & ~E_DEPRECATED
          修改為    error_reporting = E_ALL | E_STRICT
開啟瀏覽器除錯工具,根據錯誤一一修改了錯誤,程式碼問題解決,但之後將程式碼提交到github過程上,出現了許多新的錯誤:

Git衝突:commit your changes or stash them before you can merge.

從網上查詢解決辦法:

    第一種:git stash

                  git pull

                  git stash pop

然後接下來diff一個此檔案看看自動合併的情況,並做成相應的修改。

    第二種:簡單粗暴的方法:放棄本地修改,直接覆蓋

               git reset --hard

               git pull

補充:

            git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容儲存到Git棧中。

          git stash pop: 從Git棧中讀取最近一次儲存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。

          git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。

          git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了

相關文章