国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP服務(wù)器篇:部署PHP應(yīng)用到線上Web服務(wù)器的方式

瀏覽:6日期:2022-09-16 10:50:37

部署PHP應(yīng)用到線上Web服務(wù)器的方式有很多種。

平臺(tái)即服務(wù)(PaaS)

PaaS提供運(yùn)行PHP Web應(yīng)用所需的系統(tǒng)和網(wǎng)絡(luò)環(huán)境,對(duì)PHP應(yīng)用和框架只需要做少量的配置即可。

現(xiàn)在PaaS已經(jīng)成為部署、托管和擴(kuò)展各種規(guī)模的PHP應(yīng)用的流行方式,可以在?resources部分查看PHP PaaS “平臺(tái)即服務(wù)”供應(yīng)商列表。

虛擬或獨(dú)立主機(jī)

如果你愿意或想學(xué)習(xí)系統(tǒng)管理,那么虛擬或獨(dú)立主機(jī)可以讓你完全控制自己的運(yùn)行環(huán)境。

nginx和PHP-FPM

PHP通過(guò)內(nèi)置的FastCGI進(jìn)程管理器(FPM),可以非常高效地和輕量級(jí)的高性能Web服務(wù)器nginx進(jìn)行通信。 nginx比Apache消耗更少的內(nèi)存,能更好的處理并發(fā)請(qǐng)求,這在內(nèi)存限制較多的虛擬主機(jī)環(huán)境中尤為重要。

閱讀更多nginx閱讀更多PHP-FPM學(xué)習(xí)如何配置安全的nginx和PHP-FPMApache和PHP

PHP和Apache是一個(gè)老搭檔,歷史悠久。Apache有很強(qiáng)的可配置性和大量的擴(kuò)展模塊, 是共享主機(jī)中常見的Web服務(wù)器,完美支持各種PHP框架和開源應(yīng)用(如WordPress)。可惜的是,默認(rèn)情況下,Apache比nginx更耗資源,并發(fā)處理能力不強(qiáng)。

Apache有多種方式運(yùn)行PHP,最常見簡(jiǎn)單的方式是使用mod_php5的prefork MPM方式, 缺點(diǎn)是它對(duì)內(nèi)存的利用效率不高,如果你不想深入學(xué)習(xí)服務(wù)器的管理,那么這種最簡(jiǎn)單的方式就是你的最佳選擇了。注意,如果你使用mod_php5,最好使用 prefork MPM方式。

如果你想追求高性能和高穩(wěn)定性,那么也可以為Apache選擇與nginx類似的FPM系統(tǒng)worker MPM或?event MPM,它們分別使用mod_fastcgi和mod_fcgid模塊。FPM方式可以更高效的利用內(nèi)存,運(yùn)行 速度更快,但是配置也相對(duì)復(fù)雜一些。

閱讀更多Apache深入學(xué)習(xí)多進(jìn)程模塊閱讀更多mod_fastcgi閱讀更多mod_fcgid共享主機(jī)

PHP非常流行,很少有服務(wù)器沒有安裝PHP的,因而有很多共享主機(jī),不過(guò)需要注意服務(wù)器上的PHP是否是最新穩(wěn)定 版本。共享主機(jī)允許多個(gè)開發(fā)者把自己的網(wǎng)站部署在上面,這樣的好處是費(fèi)用非常便宜,壞處是你不知道將和哪些 網(wǎng)站共享主機(jī),因此需要仔細(xì)考慮機(jī)器負(fù)載和安全問(wèn)題。如果項(xiàng)目預(yù)算允許的話,避免使用共享主機(jī)是上策。

Building and Deploying your Application

If you find yourself doing manual database schema changes or running your tests manually before updating your files (manually), think twice! With every additional manual task needed to deploy a new version of your app, the chances for potentially fatal mistakes increase. Whether you’re dealing with a simple update, a comprehensive build process or even a continuous integration strategy,?build automation?is your friend.

Among the tasks you might want to automate are:

Dependency managementCompilation, minification of your assetsRunning testsCreation of documentationPackagingDeploymentBuild Automation Tools

Build tools can be described as a collection of scripts that handle common tasks of software deployment. The build tool is not a part of your software, it acts on your software from ‘outside’.

There are many open source tools available to help you with build automation, some are written in PHP others aren’t. This shouldn’t hold you back from using them, if they’re better suited for the specific job. Here are a few examples:

Phing?is the easiest way to get started with automated deployment in the PHP world. With Phing you can control your packaging, deployment or testing process from within a simple XML build file. Phing (which is based on?Apache Ant) provides a rich set of tasks usually needed to install or update a web app and can be extended with additional custom tasks, written in PHP.

Capistrano?is a system for?intermediate-to-advanced programmers?to execute commands in a structured, repeatable way on one or more remote machines. It is pre-configured for deploying Ruby on Rails applications, however people are?successfully deploying PHP systems?with it. Successful use of Capistrano depends on a working knowledge of Ruby and Rake.

Dave Gardner’s blog post?PHP Deployment with Capistrano?is a good starting point for PHP developers interested in Capistrano.

Chef?is more than a deployment framework, it is a very powerful Ruby based system integration framework that doesn’t just deploy your app but can build your whole server environment or virtual boxes.

Chef resources for PHP developers:

Three part blog series about deploying a LAMP application with Chef, Vagrant, and EC2Chef Cookbook which installs and configures PHP 5.3 and the PEAR package management system

Further reading:

Automate your project with Apache AntMaven, a build framework based on Ant and?how to use it with PHPContinuous Integration

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily — leading to multiple integrations per day. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.

– Martin Fowler

There are different ways to implement continuous integration for PHP. Recently?Travis CI?has done a great job of making continuous integration a reality even for small projects. Travis CI is a hosted continuous integration service for the open source community. It is integrated with GitHub and offers first class support for many languages including PHP.

Further reading:

Continuous Integration with JenkinsContinuous Integration with Teamcity
標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 国产精品爱久久久久久久三级 | 欧美一级视频精品观看 | 成人午夜做爰视频免费看 | 久久爱噜噜噜噜久久久网 | 亚洲成人在线免费观看 | 色精品视频 | 欧美午夜精品久久久久久黑人 | 国产九区 | 深夜福利视频在线观看免费视频 | 香蕉依依精品视频在线播放 | 九九视频在线观看6 | 粉嫩jk制服美女啪啪 | 日本成aⅴ人片日本伦 | 欧美高清正版在线 | 国产在线欧美日韩一区二区 | 亚洲精品欧美精品一区二区 | 久久男人的天堂色偷偷 | 亚洲成a人片毛片在线 | 狠狠色丁香久久综合网 | 日本美女作爱 | 最新亚洲精品国自产在线 | 免费高清国产 | 日韩精品午夜视频一区二区三区 | 9久9久热精品视频在线观看 | a级欧美片免费观看 | 亚洲国产午夜看片 | 日本亚洲国产 | 97青草香蕉依人在线播放 | 日韩有码第一页 | 高清国产精品久久久久 | 日本三级香港三级人妇99视 | 日本三级香港三级乳网址 | 亚洲 自拍 欧美 综合 | 亚洲精品综合 | 国产黄色激情视频 | 亚洲国产第一区二区三区 | 亚洲欧美一区二区三区国产精品 | 午夜爽爽爽男女免费观看hd | 美女免费黄网站 | 九九精品免费 | 欧美精品一区二区三区视频 |