PHP最佳实践之上线准备

算法听星使
• 阅读 1779

配置

1).如果你使用的不是Pass,那么先配置VPS或者专用的服务器才能运行PHP应用。本文假设你会使用vim或者nano编辑器。
2).我们选择nginx服务器来作为我们的web服务器。

首次登录

ssh root@123.456.78.90

注意要把ip换成你自己的VPS的IP。
PHP最佳实践之上线准备

我这里使用的是vultr的VPS,这个VPS服务商是按小时收费的。这意味着,架设一台VPS的成本几乎为零。你可以点击这里注册

升级软件

apt-get update
apt-get upgrade

这一步很重要,因为这能保证系统中默认的软件安装了最新的更新和安全修补。

PHP最佳实践之上线准备

PHP最佳实践之上线准备

输入y然后敲回车继续

非根用户

现在你的新服务器还是不太安全,因为我们必须要避免使用根用户。我们可以创建一个叫xiao的非根用户。密码必填,其他信息不是必填项,敲回车继续。

adduser xiao

PHP最佳实践之上线准备

接下来把他加入sudo用户组,使他拥有sudo权限。

usermod -G sudo xiao

PHP最佳实践之上线准备

SSH 密钥对认证

你在本地想访问VPS的时候推荐你使用密钥认证这种方式。简单来说,就是我们创建一对密钥,其中一个是私钥保存在本地设备中,另一个是公钥,传到你的VPS中,之所以叫做密钥对,是因为使用公钥加密的 消息只能使用对应的私钥解密。
使用SSH连接远程设备的时候,远程设备会随机创建一个消息,使用公钥加密之后把密文发送给本地设备,本地设备收到密文之后使用私钥解密,然后把解密后的消息发送给远程的服务器,远程的服务器验证了解密之后的消息,赋予你访问的权限。

ssh-keygen
scp ~/.ssh/id_rsa.pub xiao@123.456.78.90:

第一个命令执行成功你的~/.ssh 目录会有如下文件
PHP最佳实践之上线准备
然后使用scp上传到远程服务器
PHP最佳实践之上线准备

然后登陆你的VPS确认这个~/.ssh/目录是否存在。

PHP最佳实践之上线准备

如果不存在则执行下面的命令

mkdir ~/.ssh
touch ~/.ssh/authorized_keys

这个文件是一系列允许登陆这台VPS的公钥。然后将上传的公钥复制到这个文件中

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

现在使用下面的命令修改一下目录权限。

chown -R xiao:xiao ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

PHP最佳实践之上线准备

禁止密码和根用户登陆

修改/etc/ssh/sshd_config文件。将PasswordAuthentication设置为 no,然后将PermitRootLogin设置为no。
我是用的是vim,你可以使用你会的编辑器。

PHP最佳实践之上线准备

PHP最佳实践之上线准备

PHP最佳实践之上线准备

sudo service ssh restart

重启ssh使修改生效。
PHP最佳实践之上线准备

至此为止,我们的PHP部署服务器已经准备好,下一篇将会介绍PHP-FPM安装和配置,包括全局配置和进程池配置。

专题系列

PHP专题系列目录地址:https://github.com/xx19941215/webBlog
PHP专题系列预计写二十篇左右,主要总结我们日常PHP开发中容易忽略的基础知识和现代PHP开发中关于规范、部署、优化的一些实战性建议,同时还有对Javascript语言特点的深入研究。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
LNMP架构中常见的502错误
1.配置错误因为nginx找不到phpfpm了,所以报错,一般是fastcgi\_pass后面的路径配置错误了,后面可以是socket或者是ip:port2.资源耗尽lnmp架构在处理php时,nginx直接调取后端的phpfpm服务,如果nginx的请求量偏高,我们又没有给phpfpm配置足够的子进程,那
Stella981 Stella981
3年前
Kerberos无约束委派的攻击和防御
 0x00前言简介当ActiveDirectory首次与Windows2000Server一起发布时,Microsoft就提供了一种简单的机制来支持用户通过Kerberos对Web服务器进行身份验证并需要授权用户更新后端数据库服务器上的记录的方案。这通常被称为Kerberosdoublehopissue(双跃点问题),
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
Ubuntu 下 Apache2 和 PHP 服务器环境配置
Ubuntu下Apache2和PHP服务器环境配置1、简介本文主要是Ubuntu下Apache2和PHP服务器环境配置方法,同样适用于Debian系统:Ubuntu20.0.4注意:文中运行的命令基本上需要管理员权限2、安装Apache
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
美味蟹黄堡 美味蟹黄堡
2年前
想买VPS?先做好这些准备
很多时候我们更多的是看到了虚拟主机,毕竟虚拟主机的价格更优优势,比较适合于那些刚起步的中小企业,当然,也有很多大企业会用到虚拟主机。不过为了有更多的管理权限,他们会选择使用VPS主机或者独立服务器。而独立服务器或者VPS主机并不是小白随便想用就能用的,至少需要会配置环境,安装系统,进行日常的服务器维护等“基操”。VPS主机和独立服务器类似,但是很多的VPS主
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究