多年草根站长,目前还是断断续续一直从事这一块。之前一直是自己搭建,各个环节自己部署,遇到没见过的报错或者故障只是自己摸索和搜索来解决。现在的集成软体越做越强大了,功能也很多,像一些之前只能自己手动变换的功能现在都可以自动处理了。想知道生产环境下现在还需要手动搭建吗?PHP确实是各种组合各种问题搭配起来很费时费力,但本人一直的做法都是要熟悉了自己的每一个步骤,知道了哪里写了什么东西哪里开了什么服务,总感觉这样才踏实。请问各位大佬,是否这种做法过时了,集成的环境功能强大又方便管理,我的这种做法是不是落伍了。


Linux上还是建议使用apt这类系统自带的包管理器来安装和管理PHP服务。

如果开发时需要使用最新版本,可以使用XAMPP这类LAMP环境打包。

比较进阶和复杂的做法就是自己安装编译工具和依赖库,从源代码构建PHP环境。我一般都这样做,这样做可以体验比如PHP8这些还没有正式发布的alpha和beta版本。


国人的慎用,比如某塔,老外的相对比较放心。另外找开源的会稍微好点。

自己配置也是可以的,用docker也不错,有很多选择


建议使用Docker。

我曾经买了云伺服器后,第一件事就是一步一步安装环境,确实很麻烦,后来使用各种自动化脚本安装,但多环境管理起来还是费劲。

现在安装机器,只安装一个 Docker,如果用的比较频繁,就再装个 oh my zsh。

使用 Docker 不仅可以处理各种服务常驻内存的问题,还可以任意修改镜像内的环境。


hyperf/hyperf?

github.com图标

反对生产环境自己从头在裸机搭建环境。而应该使用Docker基于公共PHP镜像,编写定制的Dockerfile,创建自己的PHP镜像。

并不是在裸机上搭建环境就能显得技术牛,并不是使用集成环境就能影响对PHP的理解。

线上环境要有工具意识,要流程化、版本化、可扩展、易维护,在裸机上安装两个不同版本的PHP都容易出问题。现代化的PHP从业者应该使用现代化工具,比如Docker、Kubernetes。

具体实施上,单机部署非常推荐用docker-compose,所有依赖的服务,如mysql、redis、nginx和php-fpm,甚至需要经常运行的命令,可以在一个docker-comopse.yml定义。定义好docker-compose.yml之后,创建systemctl的service,用于一键启动、中止服务。

集群部署用kubernetes。

PHP从业者啊,去拥抱现代化的技术,从旧世界的偏执中解放吧!

PHP那么遭人恨吗??

www.zhihu.com图标

当然可以自己搭建,自己搭建的可配置性高,想装什么组件、装哪里都由你自己决定。自己搭建的好处是可以学习到这个软体的一些工作原理,比如它调用了什么东西,需要哪些系统组件来支持它运行等等。这个做法并没有落伍,完全看个人爱好。

但是如果你想要避免搭建过程中踩坑,或者比较急著需要用到的话,可以用一键环境,作为一个有 6w 用户网站的站长表示用环境包并没有什么丢人的,毕竟环境是给自己用的,怎么舒服怎么来,无毒无害就行了。

这里推荐下我常用的建站环境部署工具吧

Linux 系统:推荐 OneinStack(OneinStack 官网),用过一次就再也不想用其他的环境搭建工具了,它比 LNMP 更爽,部署环境一条命令就够了,网页上选择好自己要装的软体,复制命令,粘贴进 SSH 里基本就不用管了,去倒杯茶看看番,等十几分钟到半个小时左右回来就装完了。

Windows 系统:推荐 PhpStudy,虽然我不用 Windows 搭网站,不过这个软体在我早期学习建站的时候留下的印象挺不错,可以考虑。建议下载老版本,新版本花里胡哨的觉得有点累赘。

学好了环境搭建技能也是有帮助的,比如遇到集成环境没法安装的情况,自己手动编译就很重要了,比如我在树莓派上就没法用 OneinStack,只能自己手动编译,不过还是有很多东西可以借鉴一键环境的,比如 configure 参数,所需要的依赖包等等,基本上一键环境都会帮你准备好,只需要复制粘贴一下,根据情况修改就行了。

无论什么方法都没有过时和落伍一说,都是怎么顺手怎么来,看自己喜欢,不用在意这些。


以前我也是一个草根站长,经常幻想如果通过自己『牛逼』的技术去开发出款属于自己的独一无二的产品,然后通过产品去获得盈利。

为了这个产品网上很多现成的源码我都没有去使用,而是自己一步一步地开发。中间断断续续,甚至都快放弃了,想到都码了那么多代码了于是硬著头皮去完成了这个项目。

上线了,又听说某塔不安全于是我自己搭建LMAP环境又耗费了大量的时间,好的是项目终于是跑起来了。但是没人来访问我的网站,就自己和分享给几个朋友访问了,每天又忙于上班一直放著不知道怎么运营。没有运营就没有访问,没有人访问自己做起来也就没动力了。

我想说的是如果作为一个草根站长,我们没必要顾及什么怎么部署好不好或者是这样安不安全。真的,怎么效率怎么来,时间是宝贵的更多的是如何去让产品运营起来,若产品有流量了这些问题可以用钱解决。


我的观点是,有些经验的话,还是应该DIY

生产环境,官方下载源码编译。记住一定要保留编译语句(./configure .......)等下次使用。注意,升级大版本时,需要考虑有些扩展是否过期

我从来没有用过别人做的安装包,最大原因是,不知道是否带有木马后门


你说的是生产环境,那当然是自己搭建的好了,前提是你要自己会。

我碰到在生产环境用集成软体的人大部分是不会自己搭建。他们更多的是关心业务能不能正常跑起来,安装流程最好是按著笔记一行行的输入命令能正常走完。如果不小心做了个误操作,或是搞错了一个配置,结果服务不正常了,他们大概率会选择重新安装。不出意外的话,这些伺服器上的 SSH 埠一定是 22,root 用户还能远程登录。他们在新伺服器上一开始执行的命令也一定会是关闭防火墙和 SELinux 等安全功能,程序要进行读写的目录许可权也永远是 777。

但也不必排斥用集成软体。即便我大部分情况下是自己搭建,但在以下情况下,还是会选择安装集成软体:

  1. 硬体运算资源充足。
  2. 这台伺服器要提供给其他缺乏伺服器管理经验的人来维护。

碰到那种只有 512M 的 VPS,跑几个 PHP-FPM 进程都捉襟见肘,想装集成软体也没法装。

基础的技术是不会落伍的。反观看起来提供了各种强大功能,用起来方便的集成式软体,却总是在不断的推陈出新。这两个能力不是一个单选题,自己搭建是你的基础能力,在其之上,在该用集成软体的时候就用集成软体,何乐不为?


开发环境用集成比较好,怎么快怎么办,因为不用考虑运行效率、安全性等问题。

生产环境还是建议自己搭建(针对Linux伺服器),虽然麻烦了一点,但是更灵活,能搭建出更为理想的环境,软体更新就更为方便,更易处理一些棘手问题。


都0202年了 直接docker 走起啊,怎么编排就怎么编排


作为一个老站长,不是应该把精力放在怎么引流,怎么变现,如何能生存下去这些痛点上吗?

至于技术,顺手就行,否则找个专职运维会比较舒适。


单个项目就集成软体,多个项目就docker


肯定是自己搭建的好啊,你使用集成的,他们一般都把交互那块都给封装起来了,当你要做分散式、集群时,你会发现阻力会非常的大。


要不你就用Docker,要不你就自己从头装。

不要用奇怪的集成工具!

我前几个月接到一个救火任务,一单位生产环境需要通过安全考核,好家伙,一开全红灯,好吧,更新打补丁什么的吧。

结果人家用的宝塔,更惨的是用的Deepin……我不解释了,反正懂的就懂。

又在线上生产中,加上没有正经靠谱的运维,也不让我从头整环境,反正就编译配置想办法搞吧就。

浪费了我一整天。就这样。


生产环境建议去自己搭建。

首先考虑到安全方面。

其次因为后期如果有需求可以自己调自己更改。自己搭建的环境配置什么的自己清楚,集成的还要去拿出时间来看一些不必要的配置参数什么的,有那个时间早就搭建出来了。

然后搭建的过程也是对自己技术的巩固,如果部署一个服务你就集成软体,没多久你的技术就跟不上你的思维。


不关注 php 编译 搞毛线php


对于新手来说建议使用集成环境,前人给到那么好的资源咱要用起来。像知名的那几款集成环境整体性能是非常优秀的。

对于老手来说,想自己折腾的,可以自己一个一个软体安装。

一开始可以折腾折腾,折腾累了,用集成环境吧。


看你这网站的重要程度,普通的资讯类网站,流量不高的情况下,采用快速构建工具。

对安全性、网站性能有一定要求的,可以自行编译或者上docker。

最重要的,这套环境一定要熟悉,能快速定位到各种问题,并修复,用啥都一样。


建议自己搭一遍 理解下环境的协作方式


这主要看熟悉程度了,如果很熟悉肯定优先是自己搭建了,如果不是很熟悉,遇到问题还要查询,那就建议用集成的了


推荐阅读:
相关文章