折騰了大半天,總算把項目部署到了服務器上,這裏寫一篇文章記錄一下,當作做學習筆記,同時也給其他想要部署項目的朋友一點思路。目前Linux系統的分支比較多,我瞭解到的目前分爲Debian、Ubuntu等和RedHat、centnOS等。他們的主要操作命令都一樣,個別會有所區別,所以這個教程可能不太適用於centOS等一些系統,但應該有參考價值!
一、概覽和準備工作
我的項目是一個簡單的手機商城,前端就是HTML+CSS+JS,外加一個Jquery,只適配了PC端。後端使用了PHP和MySql。所以在服務器上就需要LAMP環境(我們常說的Linux+Apache+MySql+PHP,其他的還有LNMP環境,就是Web服務器換成Nginx)。
必要的準備工作
Xshell+Xftp軟件
一個雲服務器
已經完成的項目代碼和數據庫數據
二、購買雲服務器
目前國內有很多提供商,阿里、騰訊雲等等,大家買的時候可以買境外的,比如香港,這個不用備案(備案要花一定時間),自己斟酌就好。我目前買的Vultr的。服務器的購買大家在網上就可以找到答案,這裏就不在做篇幅講解了!
三、下載Xshell和Xftp
Xshell用來連接服務器進行操作的,Xftp用來傳項目到服務器。目前連接服務器和上傳文件有很多種,這裏我選了簡單些的,其他方法大家可以去找找。
這裏我給一個度盤地址給大家,下載下來安裝好即可。
Xshell和Xftp
提取碼:mcnl
四、使用Xshell連接服務器
下載安裝好Xshell,打開軟件即可,然後點擊文件-新建連接。
在主機部分輸入你購買的服務器的ip地址,然後連接即可。
前面有個保存信息窗口,隨便選一個就好,之後出現以下界面
這兒一般都爲root用戶名
確定後彈出以下窗口
這個地方輸入雲服務器提供的密碼。成功後就會顯示出如下的界面,當然各個服務器提供商會有所區別。
五、安裝相關環境(http://www.5pe9.com)
5.1 更新系統相關軟件包
注: 命令在剛纔連接好的shell窗口輸入
apt-get update -y && apt-get upgrade -y
這一步可以保證我們的系統的軟件是最新的版本。
5.2 安裝Apache
apt-get install apache2 -y
安裝完過後重啓一下Apache
systemctl restart apache2
重啓Apache過後,不出意外,我們就可以在瀏覽器輸入服務器的ip地址,就會看到默認的展示頁面,默認情況下,Apache的入口目錄在/var/www/html下,項目需要傳到這個目錄下才會生效,如果想要自定義自己的目錄,可以按以下方法修改。
在命令窗口輸入
cd /etc/apache2/sites-available
進入到這個目錄,輸入ls
會看到一個000-default.conf
的文件,使用以下命令來編輯改文件:vi 000-default.conf
。(vi命令大家在網上查一下,這裏不再贅述)。打開後再到DocumentRoot /var/www/html
這行改成你想要的路徑保存即可。改了過後記得重啓一下Apache來使之生效。
注:這裏會涉及到部分Linux的命令,如新建文件夾,刪除、移動文件這些,大家查資料就OK,不會特別複雜。
網上有自定義的配置站點的方式,我試過但是沒成功,所以採用了這種辦法來改目錄,如果大家有成功案例或者好的資料和方法,可以評論區分享下,謝謝!
5.3 安裝MySQL數據庫
apt-get install mysql-server -y
之後彈出如下頁面
這裏叫你輸入密碼,如果你不想設置密碼一直回車就ok。
數據庫先配置到這兒。後面還有導入數據。
5.4 安裝PHP
apt-get install php5 php-pear -y
5.4.1 創建PHP日誌目錄,賦予Apache用戶所有權
mkdir /var/log/php
chown www-data /var/log/php
5.4.2 安裝支持MySQL的擴展
apt-get install php5-mysqlnd -y
這個地方網上有不同的安裝命令,如:
apt-get install php5-mysql -y
,據我測試這個擴展不支持mysqli_fetch_all()這樣的函數。還有apt-get install php56w-mysqlnd -y
這樣的,但我沒有測試,不知道效果。同時php5-mysql和php5-mysqlnd不能同時安裝。
5.4.3 重啓Apache
systemctl restart apache2
六、使用Xftp上傳項目文件到服務器
安裝好Xftp後,點擊Xshell上的如圖所示的圖標
打開Xftp後會顯示服務器的目錄信息
之後把你選擇好的項目文件拖到你的文件裏面就OK了,我這兒是elmarket文件夾。結構如下所示
七、導入數據到MySQL數據庫(http://www.5pe9.com)
在Shell窗口輸入以下命令:mysql -u root -p < /var/www/elmarket/mysite.sql
來導入數據庫信息
-u 後面是你的數據庫用戶,我這兒默認是root,根據個人情況自行修改。
-p 是你的用戶密碼,我這兒沒有密碼,所以爲空(其實這樣不好,儘量設密碼,還有賬戶最好不要用root)。
< 後面是你的數據庫腳本的路徑。
如果沒報錯就代表成功了。
八、其他補充http://www.5pe9.com
8.1 關於請求PHP文件報500的錯誤
如果php文件裏面報錯,默認情況瀏覽器會反饋500錯誤,看不到錯誤信息。這裏給大家一個設置方式,使瀏覽器可以返回錯誤信息。
輸入cd /etc/php5/apache2
,輸入ls
可以看到php.ini
文件,使用vi php.ini
打開該文件並找到display_errors = Off
將其改爲On
,之後重啓Apache服務器。這樣我們就可以看到報錯信息了。
8.2 常用的命令
mysql -V
查看mysql版本
php -v
查看php版本
php -m
查看php擴展
apache2 -v
查看Apache版本
8.3 服務器ip綁定到域名
域名樓主我買的阿里的域名,這個不復雜,大家到阿里購買即可,操作都非常簡單。