如何在雲端伺服器上部署Laravel的解析
本篇文章主要介紹了詳解如何在雲端伺服器上部署Laravel,具有一定的參考價值,感興趣的小伙伴們可以參考一下
學習PHP和Laravel已經有一段時間了,但是所有的程式碼都是跑在本地的虛擬主機上的,於是去騰訊雲端申請了一個月的免費雲端主機,想把專案部署到雲端伺服器上。
不得不說這裡面的坑實在是有點多,讓我這個初次接觸伺服器的小白摸不清頭腦。在設定好伺服器之後,部署Laravel專案更是費力心思,於是乎想記錄部署Laravel專案的流程。
PS: Linux真是越用越有感覺的系統,回家在桌上型電腦上也要裝個Linux敲程式碼用。
環境簡介
在作業系統的選擇上,我選用了Linux ubuntu16.04的系統,使用的是LNMP的環境,也就是Linux Nginx Mysql PHP的環境。
刪除Apache
sudo service apache2 stop update-rc.d -f apache2 remove sudo apt-get remove apache2
先用這三個指令來刪除Apaceh 之後更新一下套件清單
sudo apt-get update
1.安裝Nginx
sudo apt-get install nginx
在安裝完Nginx之後,要重啟nginx
sudo service nginx start
執行完之後,在瀏覽器輸入雲端伺服器分配給你的公網ip,就可以看到welcome to nginx的介面了
2. 安裝Mysql
sudo apt-get install mysql-server mysql-client
過程中會提示你設定Mysql的密碼,就跟平常的密碼設定一樣,一次輸入,一次確認。密碼確認完後基本上等一會兒就安裝好了。嘗試
mysql -u root -p
如果登入成功,那麼Mysql就正確安裝了。
3.安裝PHP
sudo apt-get install php5-fpm php5-cli php5-mcrypt
只有透過php5-fpm,PHP在Nginx下才能正常運行,遂,安裝之。
至於php5-mcrypt,有些PHP框架會依賴這個,例如Laravel就是,所以也把它裝上了。
題外話,這裡的php5我自己在部署時安裝了php7 如果想嘗試的也可以試試看。
4.設定PHP
sudo vim /etc/php5/fpm/php.ini
開啟PHP設定文件,找到cgi.fix_pathinfo選項,去掉它前面的註解分號;,然後將它的值設為0,如下
cgi.fix_pathinfo=0
5.啟用php5-mcrypt:
sudo php5enmod mcrypt
6.重啟php5-fpm:
#sudo service php5-fpm restart
在搭建完LEMP環境之後,首先要先明確兩個重要目錄
Nginx的預設root資料夾
/usr/share/nginx/html
Nginx的伺服器設定檔所在目錄
#/etc/nginx/sites-available/
##上面兩個目錄記住就好,很常用,先擺出來
下面一步一步在雲端伺服器上部署Laravel
1.建立網站的根目錄
sudo mkdir -p /var/www
2.設定nginx伺服器
sudo vim /etc/nginx/sites-available/default
開啟nginx的設定檔之後,找到server這一塊,大概是長這個樣子的
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } }
其中root,index ,server_name和location這幾行需要稍微修改一下
root修改
root /var/www/laravel/public;
這裡就是將nginx伺服器的根目錄指向Laravel的public資料夾下,後續的Laravel專案的程式碼我們會放在我們之前建立的/var/www/laravel目錄下
##index修改
index index.php index.html index.htm;
server_name修改
server_name server_domain_or_IP;
location修改
location / { try_files $uri $uri/ /index.php?$query_string; }
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/laravel/public; index index.php index.html index.htm; server_name server_domain_or_IP; location / { try_files $uri $uri/ /index.php?$query_string; } }
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/laravel/public; index index.php index.html index.htm; server_name server_domain_or_IP; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
location ~ \.php$是自己加上去的:
sudo service nginx restart
3.建立Laravel專案
在設定nginx後,要怎麼取得Laravel的專案程式碼呢?有以下幾種方法:(1).直接composer安裝直接透過composer來安裝,你可以在伺服器上執行cd ~ curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo composer create-project laravel/laravel laravel
(2).直接上傳程式碼
使用下面指令上傳scp -r laravel root@your_IP:
sudo mv laravel/ /var/www
(3).使用Git和Coding平台
#個人比較喜歡使用git來上傳程式碼,可以很方便的更新程式碼和進行回滾,一旦版本更新出Bug我可以藉助Git的強大版本管理能力來修復Bug。流程大概是這樣:本地程式碼---->Github---->雲端伺服器sudo apt-get install git
git clone your-project-git-link
your-project-git-link替换为你Github上的laravel项目地址
5.BINGO
在浏览器输入:http://server_domain_or_IP
至此,你可以在服务器上随意地用Laravel了,keep coding!
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上是如何在雲端伺服器上部署Laravel的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
