王志勇 发表于 2018年10月31日 10:10
VPS与我们用的Windows系统不同的一点是,VPS重装系统是在主机自带的SolusVM面板下,一键重装系统,一键切换各种系统、各种版本。所以,本文标题的“新机安装”,指的就是在SolusVM面板下,一键重装系统之后的新机状态。
经历过很多的折腾期之后,才会发现这些环境的不同。比如:
成功的关键只在于,运行上述命令之前,必须先给Nginx建立站点,在/etc/nginx/sites-enabled/default文件里建立站点。
特别是这个certbot-auto文件,大小约61K。这个文件的内容,都是Let’s Encrypt的开发者写好的shell命令、shell程序。Ubuntu 14+Nginx下安装的这个SSL,整个过程都是这个certbot-auto里的shell命令在自动完成的,全程无需对Nginx的配置文件做任何手动改动。安装完成后,会发现/etc/nginx/sites-enabled/default文件会被自动修改,里面自动添加了listen 443 ssl;等内容。
相比较来说,Apache+PHP比Nginx+PHP容易很多。与上面的Let’s Encrypt例子相似,Apache+PHP的官方支持非常好,比如CentOS 5/Ubuntu 12只需下列个命令,就能一步支持PHP,apache的配置文件不需任何改动,php.ini需要做一点改动(后面会讨论):
CentOS 5:
yum -y install php
Ubuntu 12:
apt-get -y install php5
到了CentOS 6、Ubuntu 14,只需手动安装apache,再执行上述的php命令,例如:
CentOS 6:
yum -y install httpd
Ubuntu 14:
apt-get -y install apache2
php.ini的配置文件,
CentOS路径为/etc/php.ini,
Ubuntu路径为/etc/php5/apache2/php.ini,
找到short_open_tag = 这一行,很多默认是Off。这会导致很多短标签的PHP程序为空白、不运行,解决办法是把php.ini的short_open_tag = Off这行,修改为:
short_open_tag=On
(附:从2017年开始,CentOS 5被官方抛弃,需要在网上找一个可用的软件源,替换掉/etc/yum.repos.d/CentOS-Base.repo文件,就可以顺利安装PHP。CentOS系统安装PHP之前,无需运行update;Ubuntu系统需要先运行update,才能安装PHP。)
CentOS和Ubuntu的区别,CentOS对PHP的安装更简便,主要是体现在配置步骤上。目前已知的区别是,CentOS+PHP,直接支持Rewrite;Ubuntu需要在apache2的配置文件里修改一下才能支持Rewrite。
Ubuntu和Debian,基本相似。
有一些CentOS+PHP无法实现的功能,正好Ubuntu+PHP能实现,比如PHP对SQLite3文件读取,CentOS+PHP无法实现,Ubuntu+PHP能实现。这个时候需要使用2台VPS,一台安装CentOS+PHP,一台安装Ubuntu+PHP,VPS之间用php调用wget命令、FTP远程传送文件、用file_get_contents()函数传输大数据、或者用$_GET传输少量数据等方法。
CentOS 6安装Apache+PHP,我前几天用秒表计时,全程9秒钟完成,命令是:
yum -y install httpd php
这说明服务器版的CentOS/Ubuntu/Debian系统,对Apache+PHP的支持非常好,在php.ini和apache的配置文件未加任何改动的情况下,都能顺利运行PHP。
Nginx+PHP的安装,就复杂很多。如今我必须使用Nginx+PHP的原因,是因为Let’s Encrypt对Ubuntu+Nginx的支持很好。记得以前在CentOS下安装Nginx+PHP成功,折腾了不少于3天。如今必须在Ubuntu下安装Nginx+PHP,需要重新调试,折腾了1天,尚未完成。
Apache的配置文件只有1个,安装后,默认已经配置好,安装PHP后无需任何改动直接支持PHP;
Nginx的配置文件有4个,安装后,安装PHP后需要做很多的手动配置,调试过程中有各种难以解决的问题:PHP程序为空白,502错误,找不到文件。
2018-11-01 12:07更新:
我的PHP主力环境是CentOS 5或6+Apache+PHP,每次重装系统都是把Apache和PHP的配置文件,都下载到本地,然后用自己编写的一个小工具,自动完成这2个文件的配置。由于这个自动化,且PHP一直运转正常,有些重要的设置我也彻底忘记了,因为不需要我手动去一一修改。但是写本文,则需要把这些设置写出来,否则会遇到错误。比如php.ini的配置文件,CentOS路径为/etc/php.ini,Ubuntu路径为/etc/php5/apache2/php.ini,找到short_open_tag = 这一行,很多默认是Off。这会导致很多PHP程序空白,比如<?$e1=5;?>,而不是<?php $e1=5;?>,这种标签的简略形式,会显示空白。解决的办法是修改为short_open_tag=On
apt-get update
当然,这些消耗的时间只能作参考,消耗的时间主要受当时服务器的网速的影响。
我写的程序是以CentOS+Apache+PHP平台为主,因为有些功能无法在CentOS中实现,所以也使用Ubuntu+Nginx+PHP来实现。
Nginx+PHP的配置,比Apache+PHP复杂很多,Apache+PHP的快速安装和配置如前文。Nginx+PHP前年我成功安装过,当时也是调试了几天。
完成上述这2个条件之前,还有一个重要条件,服务器必须先确保安装Apache、或Nginx。
虽然这些文章正在增多,但实际上,VPS的安装、配置比我们想象中容易得多,新机通常在半小时内能完成整个安装、配置。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +