這篇文章介紹的內容是關於CentOS7下Laravel部署並用nginx轉發,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
本文章僅作為個人筆記
建立php運行環境
執行service php-fpm start啟動php-fpm服務,執行ps aux | grep php-fpm驗證是否成功安裝php-fpm服務。
-
如果使用第二個方案安裝來源的,請使用下列腳本
yum install php72-php-cli.x86_64 php72-php-common.x86_64 php72-php-fpm.x86_64 php72-php-devel.x86_64 php72-php-gd.x86_64 php72-php-intl.x86_64 php72-php-mbstring.x86_64 php72-php-pecl-mcrypt.x86_64 php72-php-mysqlnd.x86_64 php72-php-opcache.x86_64 php72-php-pdo.x86_64 php72-php-pear.noarch php72-php-xml.x86_64 -y
有php來源
-
也有可能有部分使用者無法存取這兩個文件,此時可以換用下面方式(7.2),因此後面的部分教程可能也會不一樣,需注意
yum install epel-release -y rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
php來源比較舊
#php:
判斷是否有php的yum源:
yum search php系統本身自帶php的yum來源,但是版本太舊,還是5.4的,為了安裝最新的來源這裡準備安裝新yum源。
-
安裝php的yum來源:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#此時再執行yum search php 會發現多出來更多選項
安裝php及部分相關外掛(php-cli為shell相關,php-common為常用函數相關,php-devel為編譯相關,php-fpm為服務相關,php -gd為圖片處理相關,php-intl為國際化相關,php-mbstring為多字串處理相關,php-mcrypt為加密相關,php-mysqlnd為mysql相關,php-opcache為效能加速相關,php-pdo為資料物件相關,php-pear為php應用程式擴充相關,php-xml為xml相關)(這裡安裝php7.1)使用了第一種的請用第一個腳本:
yum install php71w-cli.x86_64 php71w-common.x86_64 php71w-fpm.x86_64 php71w-devel.x86_64 php71w-gd.x86_64 php71w-intl.x864 php76868686_64 php11w-intl. 64 php71w-mysqlnd.x86_64 php71w-opcache .x86_64 php71w-pdo.x86_64 php71w-pear.noarch php71w-xml.x86_64 -y執行php –version查看php是否已安裝並設定完成。出現與截圖類似的版本資訊則表示安裝php配置完成,
#php版本
php -fpm測試
安裝週邊服務(nginx/composer/git/mysql/redis)
這幾個服務基本上可以在基本yum來源中安裝,如果沒有composer,可運行cd /tmp
curl –sShttps://getcomposer.org/installer| php
mv composer.phar/usr/local/ bin/composer 即可完成composer的安裝服務程式碼準備
為了方便php服務的部署和更新,筆者使用git進行專案下載及更新。
進入準備部署服務的資料夾,執行git clone git位址(範例:git clone root@www.temp.com:/git/php/markingphp)
#下載php程式碼
此時專案權限為root,如果這樣運行php-fpm可能會權限不足,筆者這裡為了簡便及對php專案靜態資源nginx管理,將專案權限變更為nginx,將php-fpm的運行者權限改為nginx。
php及專案相關設定
#nginx錯誤日誌
#服務轉送失敗
初始化mysql
執行chown nginx:nginx - Rf 資料夾名稱(例:chown nginx:nginx -Rf markingphp)
#運行rpm -ql php17w-fpm.x86_64取得php-fpm安裝位址
取得php-fpm安裝位址
嘗試得知/etc/php-fpm.d/www.conf 為設定檔
-
php-fpm設定檔
# 更改user = apache与 group = pache 为 user = nginx group = nginx 如果有必要可以更改127.0.0.1:9000为想要的端口
为了服务器信息安全及项目大小控制,git项目未上传项目配置与项目引用库,所以需要重新新建项目配置文件并配置
项目结构
配置文件
运行 composer update -vvv 下载库
下载库失败
-
如果库下载失败,可能是库被墙的原因,更改composer.json添加国内源再运行即可。
“repositories”: { “packagist”: { “type”: “composer”, “url”: “https://packagist.phpcomposer.com” } }
国内源
再运行 php artisan serve 可测试当前项目库是否完整,出现如下说明项目库下载完成。
尝试启动项目测试
初始化项目mysql表(php artisan migrate:refresh)
配置nginx以转发80端口服务到php-fpm的服务,
server { listen 80; location / { root /php/markingphp/public/; index index.php index.html index.jsp; } location ~ .php{ root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME document_root$fastcgi_script_name; include fastcgi_params; } }
运行curl localhost 判断服务是否正常转发。
运行 vim /var/log/nginx/error.log 检查nginx的log会发现log提示权限不足,可是我们已经把文件权限付给了nginx。
最终得知是因为selinux的缘故,此时只需运行 setenforce 0 即可关闭selinux(临时),再修改配置文件 /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,这样下次重启selinux依然是关闭的。再运行curl localhost 会发现服务已经可以正常服务了。
以上是CentOS7下Laravel部署並用nginx轉發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

phpisusedforsendendemailsduetoitsignegrationwithservermailservicesand andexternalsmtpproviders,自動化intifications andMarketingCampaigns.1)設置設置yourphpenvenvironnvironnvironmentwithaweberswithawebserverserververandphp,確保themailfunctionisenabled.2)useabasicscruct

發送電子郵件的最佳方法是使用PHPMailer庫。 1)使用mail()函數簡單但不可靠,可能導致郵件進入垃圾郵件或無法送達。 2)PHPMailer提供更好的控制和可靠性,支持HTML郵件、附件和SMTP認證。 3)確保正確配置SMTP設置並使用加密(如STARTTLS或SSL/TLS)以增強安全性。 4)對於大量郵件,考慮使用郵件隊列系統來優化性能。

CustomHeadersheadersandAdvancedFeaturesInphpeMailenHanceFunctionalityAndreliability.1)CustomHeadersheadersheadersaddmetadatatatatataatafortrackingandCategorization.2)htmlemailsallowformattingandttinganditive.3)attachmentscanmentscanmentscanbesmentscanbestmentscanbesentscanbesentingslibrarieslibrarieslibrariesliblarikelikephpmailer.4)smtppapapairatienticationaltication enterticationallimpr

使用PHP和SMTP發送郵件可以通過PHPMailer庫實現。 1)安裝並配置PHPMailer,2)設置SMTP服務器細節,3)定義郵件內容,4)發送郵件並處理錯誤。使用此方法可以確保郵件的可靠性和安全性。

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

使用依賴注入(DI)的原因是它促進了代碼的松耦合、可測試性和可維護性。 1)使用構造函數注入依賴,2)避免使用服務定位器,3)利用依賴注入容器管理依賴,4)通過注入依賴提高測試性,5)避免過度注入依賴,6)考慮DI對性能的影響。

phpperformancetuningiscialbecapeitenhancesspeedandeffice,whatevitalforwebapplications.1)cachingwithapcureduccureducesdatabaseloadprovesrovessetimes.2)優化

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6
視覺化網頁開發工具