雲端伺服器上部署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;
這裡要注意的是,將index.php排在最前面
server_name修改
server_name server_domain_or_IP;
將server_domain_or_IP修改為你的公網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; } }
最後我們還需要設定一下Nginx,讓其執行PHP檔。同樣是在這個檔案裡,在location下方加入下面的設定:
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$
是自己加上去的:
配置完之後重啟Nginx,使上面的設定項目生效。
sudo service nginx restart
3.建立Laravel專案
在設定nginx後,怎麼取得Laravel的專案程式碼呢?有以下幾種方法:
(1).直接composer安裝
直接透過composer來安裝,你可以在伺服器上執行
cd ~ curl -sS getcomposer.org/installer | php
上面指令會安裝composer
composer全域使用:
sudo mv composer.phar /usr/local/bin/composer
然後在/var/www目錄下直接執行
sudo composer create-project laravel/laravel laravel
因為我們之前建立/var/www目錄,你可以直接cd /var /www然後執行上面的命令。然後坐等安裝完成。
(2).直接上傳程式碼
使用下面指令上傳
scp -r laravel root@your_IP:
然後在伺服器上將laravel移到/var/www目錄下
sudo mv laravel/ /var/www
(3).使用Git和Coding平台
#個人比較喜歡使用git來上傳程式碼,可以很方便的更新程式碼和進行回滾,一旦版本更新出Bug我可以藉助Git的強大版本管理能力來修復Bug。流程大概是這樣:
本地程式碼---->Github---->雲端伺服器
既然要使用git,那么先在云服务器上安装git:
sudo apt-get install git
安装完成就可以使用git了,然后在Github上创建一个私有项目laravel,里面包含所有该Laravel项目所需代码。
一旦本地代码都推送到Coding,然后在/var/www目录下直接使用
git clone your-project-git-link
your-project-git-link替换为你Github上的laravel项目地址
5.BINGO
在浏览器输入:server_domain_or_IP
至此,你可以在服务器上随意地用Laravel了,keep coding!
以上是雲端伺服器上部署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主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

在使用CraftCMS開發網站時,常常會遇到資源文件緩存的問題,特別是當你頻繁更新CSS和JavaScript文件時,舊版本的文件可能仍然被瀏覽器緩存,導致用戶無法及時看到最新的更改。這個問題不僅影響用戶體驗,還會增加開發和調試的難度。最近,我在項目中遇到了類似的困擾,經過一番探索,我找到了wiejeben/craft-laravel-mix這個插件,它完美地解決了我的緩存問題。

Laravel 提供了一個全面的 Auth 框架,用於實現用戶登錄功能,包括:定義用戶模型(Eloquent 模型)創建登錄表單(Blade 模板引擎)編寫登錄控制器(繼承 Auth\LoginController)驗證登錄請求(Auth::attempt)登錄成功後重定向(redirect)考慮安全因素:哈希密碼、防 CSRF 保護、速率限制和安全標頭。此外,Auth 框架還提供重置密碼、註冊和驗證電子郵件等功能。詳情請參閱 Laravel 文檔:https://laravel.com/doc

在面向初学者的 Laravel 框架版本选择指南中,本文深入探討了 Laravel 的版本差異,旨在協助初學者在眾多版本之間做出明智的選擇。我們將重點介紹每個版本的關鍵特徵、比較它們的優缺點,並提供有用的建議,幫助新手根據他們的技能水準和項目需求挑選最合適的 Laravel 版本。對於初學者來說,選擇一個合適的 Laravel 版本至關重要,因為它可以顯著影響他們的學習曲線和整體開發體驗。
