王志勇 发表于 2019年06月27日 11:38
VPS和虚拟主机,各有优势。VPS最大的优点是能够实现很多特定的功能,可以关闭错误日志,初期需要花一定的时间学习和配置;虚拟主机优点是基本不用学习,直接上手,可以运行大多数流行的PHP程序,但是不能关闭错误日志。由于VPS可以关闭错误日志,所以总是比虚拟主机快一些。
虚拟主机默认的服务器配置,Apache/Nginx错误日志、Apache访问日志、php.ini错误日志、系统错误日志,这4部分的日志全部是开启的,无法关闭,而VPS则可以通过一定的方法关闭所有的错误日志,详细步骤请见前文。
这些日志,都保存在/var/log、/var/log/apache2、/var/log/httpd目录下,大家可以经常观察这些错误日志,是不是已经达到几兆、几十兆了?尤其是/var/log/btmp这个系统错误日志的文件,体积最大。由于这些文件的存在,大大影响主机的性能。一旦删除、或屏蔽这些文件,会发现网页的访问速度总是和新机一样。
如何从0速成为Linux VPS熟手?
先买个低价的主机练手,或者在本机用VMware+Ubuntu 14免费搭建Ubuntu系统来练习。Ubuntu所有版本的系统下载地址如:http://releases.ubuntu.com
路径:http://releases.ubuntu.com → 14.04 → ubuntu-14.04.6-server-amd64.iso
或者国内的Ubuntu下载镜像:http://mirrors.163.com/ubuntu-releases/
我从2002-2016年一直使用虚拟主机(2002-2009年从事ASP开发,2009年至今从事PHP开发)。VPS由于以前价格很贵,且多年来一直听说需要折腾,所以一直没有入手,也经常看到很多博友在写Linux系统的使用日记。
比如我朋友在2010年左右,入手了VPS,用来放博客,那时候3000元人民币/年。
2015年,我通过搜索,终于找到了一个国外史上最便宜的VPS,8美元/年。但由于那一年很忙的原因,当时只能按照网上的文章,只安装了一个用来上网的功能,这个VPS只是偶尔用一下,全年都在闲置,那一年的时间里,我的VPS、Linux知识基本上还是0。
2016年8月15日,才正式开始VPS的使用、调试之路。使用、调试过程中,会有大量的问题。但这些问题,是每位电脑爱好者必须学会的基本技能,无法逃避。
于是就在正式使用、调试之后,我很快产生了一个开发VPS面板的想法。所以在2016年9月1日注册了一个VPS面板的域名,这两个时间只相隔了半个月。
从0基础到半个月的时间,就能开发VPS面板?是的,你也可以做到。因为VPS面板的实质,就是调用shell命令,或者调用多个shell命令的组合。
这是因为服务器版的Linux主机(Ubuntu、CentOS、Debian等系统),它们的操作方式很类似于DOS系统。使用Linux主机,初期对于使用Windows的用户,会有一点点不习惯,因为从未接触过如此更加好用的系统。
Linux主机请忘记桌面,远程操作方式是shell命令
Linux主机,全部是通过shell命令来操作。当一个人刚购买一个VPS时,会收到一封邮件,里面有主机的SSH密码,用户名全部是root。
之后,安装2个软件,Xshell、Xftp。
Xshell软件,用来输入shell命令。Xftp,用来像FTP一样,传输文件,但是Xftp新建站点时,默认的端口是21,需要改为SFTP(22端口)。
之后,搜索百度,关键词是“系统 Apache PHP 安装”,例如“Ubuntu Apache PHP 安装”。
Linux系统下的PHP安装,在一定程度上,反而比Windows下的安装简单很多。这是因为Linux系统下的PHP,是由相关的开发者部署好的,我们只要按照相关的步骤(shell命令),执行就能全自动安装。
初期的学习、调试,建议不要用网上的一键LAMP、LNMP安装。因为这样无法学会和体验Linux下的LAMP、LNMP环境的安装原理,而必须经历手动一个一个安装。
Ubuntu、CentOS、Debian这些系统用哪个好?它们的差别,请参考前文:作为Web服务器,CentOS和Ubuntu/Debian的明显速度差异
总体来说,系统的版本越低,则越省资源,一般速度也会越快。
这些系统都是服务器版本,一些老版本官方逐渐取消了支持。
开发者建议使用Ubuntu 12最佳,或者Ubuntu 14~Ubuntu 18。
如果是放置博客等PHP程序,PHP 5.X建议用Ubuntu 14系统。
如果需要PHP 7.X的支持,可以用Ubuntu 18的系统,Ubuntu 18自带的LAMP软件源是PHP 7.2。
Linux主机的学习方法
很多的操作步骤,都需要在本机建立一个笔记本,记录调试笔记。需要的shell命令,从笔记中复制。
记录笔记,是迅速从0变成熟手、高手的重要方法。
Linux主机的第一个命令
比如我使用的Ubuntu 12、Ubuntu 14,安装Apache+PHP,第1个命令是,让软件更新,新机必须执行此命令一次才能安装软件:
apt-get update
第2个命令,安装Apache+php5,先判断有没有Apache,如果有就不安装:
a1=`which apache2`; if [ "$a1"x = ""x ]; then apt-get -y install apache2; fi; apt-get -y install php5;
就是如此简单,Apache+php5已经自动安装完毕。之后,就是相关的配置、优化工作,如前面这篇文章的详细步骤:详细步骤请见前文。
如果将来我有时间能继续开发VPS面板,会在Webshu平台编写这一系列的文章,并给出很多好用的shell命令、shell优化命令,因为这个VPS面板主要是基于shell命令。
PHP安装完毕之后,请在百度搜索Apache、或Nginx的站点建立方法,很简单,修改它们的配置文件。因为时间的关系,本博客暂时没有详细步骤。
同一厂家的不同版本,安装的shell命令不同;
比如Ubuntu 18和Ubuntu 14的安装命令不同。前几天我在Ubuntu 18安装Apache+php,原来的apt-get命令已经变成了apt,且安装过程有错误提示。例如这是前几天我的部分笔记,第一个命令是由于错误提示,所以必须先结束apt进程就不会有错误提示,我的部分命令的笔记,下次调试时再记录更详细的步骤:
ps afx|grep apt
kill -9 2754 (2754是进程编号PID,会变动)
sudo dpkg --configure -a
apt -y install apache2
apt -y install php7.0
最后一行的apt -y install php7.0,在Ubuntu 18.04系统下,实际安装的是PHP 7.2。
2019-06-27 22:31 本文补充更新:
上面画了删除线,今天再次重新调试安装Ubuntu 18+PHP时,发现PHP总是空白、不执行,为此浪费了2个多小时,调试、配置了很多文件。正确的调试步骤为,Ubuntu/CentOS/Debian系统下,如果是Apache+PHP组合,无论是什么版本,Apache+PHP安装成功后,在网站目录下上传一个PHP文件先测试,这时候应该能立即支持PHP。初次调试新环境的时候,这个时候应该测试一下PHP能否运行,而不要先修改Apache配置文件、php.ini。
Ubuntu 18.04+Apache+PHP,可能是由于相关开发者的一点疏忽,导致安装时会报错,比如先运行apt update、或apt -y install apache2都会有如下报错:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
正确的解决和安装步骤为:
1. 命令:
ps afx|grep apt
返回的结果中,找到这一行:
2732 ? S 0:04 | _ apt-get upgrade -y
要kill掉这一行的apt。
2. 命令:
kill -9 2732
(2732是进程编号PID,会有不同)
3. 命令:
dpkg --configure -a
执行这个命令后,服务器版的Ubuntu 18,会有几次的对话框,一路按回车、YES。
而在本机的Ubuntu 18,我今天调试中发现上面的命令1、2、3都不需要,直接用命令4即可。
4. 命令:
apt -y install apache2; apt -y install php
之后立即支持PHP。
总结:之前导致PHP不运行的原因是用的命令是apt -y install php7.0,千万不要用这个命令,虽然安装的是PHP 7.2,但是不运行,这是Ubuntu 18的一个bug;正确的命令是apt -y install php。
为什么此时用kill -9,而不用killall -9?因为此时的环境不支持killall命令。
自由勇 2019-06-27 11:58
谢谢!:)
唉,那个香港VPS有可能处于半翻车的状态,暂时一直闲置。
原因一是客服已经安装了Ubuntu 12、13、16,但是一直无法连接SSH,因为DHCP的原因,已经四五天了,这个问题还没解决。客服让我暂时用Ubuntu 18,所以我只能把程序都修改成PHP 7.X才能用。
原因二是香港、日本、韩国VPS有个缺点是经常受到同行的DDOS的攻击,他们的客户群每天都说服务器又被关机了,而且据说每天都需要手动开机一次。
本来很失望,我又把这个香港VPS开机了,这两天测试一直稳定,暂时不用每天手动开机。所以,究竟好不好用,暂时没有结果。有可能翻车、商家跑路,也可能成为传家宝。
香港VPS看来只有阿里云稳定,不怕DDOS。而且他们是大公司,能及时做出反击维权。
Ubuntu 18.04+Apache+PHP,可能是由于相关开发者的一点疏忽,导致安装时会报错,比如先运行apt update、或apt -y install apache2都会有如下报错:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
正确的解决和安装步骤为:
1. 命令:
ps afx|grep apt
返回的结果中,找到这一行:
2732 ? S 0:04 | _ apt-get upgrade -y
要kill掉这一行的apt。
2. 命令:
kill -9 2732
(2732是进程编号PID,会有不同)
3. 命令:
dpkg --configure -a
执行这个命令后,服务器版的Ubuntu 18,会有几次的对话框,一路按回车、YES。
而在本机的Ubuntu 18,我今天调试中发现上面的命令1、2、3都不需要,直接用命令4即可。
4. 命令:
apt -y install apache2; apt -y install php
之后立即支持PHP。
总结:之前导致PHP不运行的原因是用的命令是apt -y install php7.0,千万不要用这个命令,虽然安装的是PHP 7.2,但是不运行,这是Ubuntu 18的一个bug;正确的命令是apt -y install php。
为什么此时用kill -9,而不用killall -9?因为此时的环境不支持killall命令。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新: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年 +