对于不少刚接触服务器运维的朋友来说,在Linux上部署PHP项目总感觉像在翻一座大山。命令行黑乎乎一片红旗linux安装,各种权限、环境变量、配置文件让人摸不着头脑。但其实,Linux部署PHP项目的核心逻辑并不复杂。只要搞清楚几个关键步骤,把环境搭好、代码放对位置、权限设好,项目就能跑起来。这篇文章我会从最实在的角度出发,把整个过程拆开揉碎了讲清楚。

环境安装需要装哪些东西

部署PHP项目的第一步就是装环境。很多人在这一步就卡住了,因为不知道到底要装哪些软件,装多了怕乱,装少了项目跑不起来。其实你只需要关注三个核心组件:Web服务器、PHP解析器、数据库。

Web服务器最常见的是Nginx和Apache。对于PHP项目,Nginx搭配PHP-FPM是现在的主流方案。安装的时候直接用系统的包管理器就好。Ubuntu或Debian系统用apt,CentOS或Rocky用yum。记得同时安装PHP的常用扩展,比如mysqli、pdo、mbstring、gd库这些。少了任何一个扩展,项目都可能报错。

数据库方面,MySQL或MariaDB选一个就行。安装完成后记得跑一下安全初始化脚本,设置root密码,删除匿名用户。这一步很多人忽略,但线上环境如果不做,就等于把数据库大门敞开了。环境装完后,最好用php -v和nginx -t检查一下版本和配置,确保安装过程没有遗漏。

代码该放到哪个目录

环境装好了linux部署php项目,接下来就要把PHP项目的代码放到服务器上。这个目录选择很重要。Nginx默认的根目录一般是/var/www/html,但我不建议你把所有项目都塞进去。更好的做法是为每个项目单独建一个目录,比如/var/www/myproject,然后在Nginx配置里指定这个路径。

上传代码的方式有好几种。如果只是个人项目,用FileZilla这类FTP工具就行。如果是团队协作深度linux,Git仓库直接拉到服务器上是更规范的做法。在服务器上装好Git,克隆代码库到指定目录,然后配置好composer install,把依赖拉下来。

另外要注意的是,代码目录的属主和属组要设置正确。一般建议把目录所有者设为www-data或者nginx用户,这样Web服务器才有权限读取文件。如果用root上传了代码,后续访问页面时可能会遇到403权限错误。修改权限用chown和chmod,但不要随便给777,那样太危险。755足够了。

配置文件和域名怎么设置

环境装好了,代码放进去了,接下来就要让服务器知道你的项目在哪里。这一步的核心是修改Nginx的配置文件。Nginx的配置一般在/etc/nginx/sites-available/目录下,你需要创建一个新的配置文件,然后启用它。

配置里要指定server_name为你的域名或者IP地址。root指向你的项目目录。index设置成index.php。最关键的是location块,要把PHP请求转发给PHP-FPM处理。这部分配置网上模板很多,但我要提醒你几个容易踩坑的地方。一是路径要写对,二是fastcgi_pass的地址要和PHP-FPM监听地址一致。有的系统用socket,有的用TCP端口,搞错了页面就是白屏。

部署项目什么意思_linux部署php项目_部署项目到服务器

配置文件写好后,用nginx -t测试语法,通过了再重启Nginx。如果你有多个项目,可以通过不同的server_name来区分。没有域名的话,用IP加端口号也可以,但记得在服务器安全组里放行对应端口。

数据库连接和常见错误怎么处理

项目能访问之后,下一个最容易出问题的地方就是数据库连接。很多PHP项目会在安装向导里要求填写数据库地址、用户名和密码。如果你的数据库和Web服务器在同一台机器上,地址一般填localhost或者127.0.0.1。如果分开部署,就要填内网IP。

部署项目到服务器_linux部署php项目_部署项目什么意思

连接不上数据库的原因有很多。最常见的是用户权限没有给对。MySQL里的用户是跟主机绑定的,比如’myuser’@’localhost’和’myuser’@’%’是不同的。如果你填了localhost但用户只允许从远程连接,那就连不上。反过来也一样。

另外,PHP的PDO或mysqli扩展如果没有启用,也会报连接错误。检查一下php.ini里对应的扩展是否被注释掉了。还有php.ini里的display_errors建议在开发阶段打开,方便看到具体错误信息。线上环境一定要关掉linux部署php项目,改到日志里记录。错误日志的位置一般在/var/log/nginx/error.log或者/var/log/php-fpm/,具体看你的系统配置。

在Linux上部署PHP项目这件事,说难不难,说简单也有一堆细节。只要按着环境安装、代码存放、配置设置、连接调试这几个步骤走,大部分问题都能解决。碰到报错别慌,先看日志,对症下药。等你成功把页面跑起来的那一刻,那种成就感是很踏实的。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复