面向初级PHPer的工作经验
前言
此笔记面向初级PHP工程师,适合自学、培训班出来的PHPer。
初级PHP工程师大部分进入的都是技术体系不完善的小公司,也算是小公司的php程序员全方位攻略吧。
此笔记涉及一个网站从无到上线全部环节,如果其中有任何一个环节你不熟练,那么请仔细阅读。
其中用到的部分技术可能引起部分phper不适,请见谅,我只想让初级phper能够更快、更容易得去完成网站从无到有,至于后期发展,得靠不断的学习!
网站从无到上线,都需要哪些环节?
一般来说,网站从无到上线,只需要以下3个必需品
- 域名
- 主机
- 程序
而这3个必需品,每个都包含繁琐的步骤,非常容易把新人绕晕,现在我来把他们整理一下,缕清他们三点之间的关系。
- 域名
建立一个网站,首先要有一个容易让人记住的域名。
域名需要去空间商(IDC)购买,例如万网(现为阿里云域名)、西部数码(老牌IDC)、腾讯云等等...
挑选一个你喜欢的空间商,去里面购买一个域名,步骤我就不说了。
购买域名需要有2个注意的地方:
1、让你填写实名认证模板,这个是工信部的要求,不管是公司买还是个人买都是提供他需要的资料就可以了;
2、有的域名后缀无法在国内实名认证也就是无法备案,所以买小众后缀的域名先查一下是否能实名认证,如果你的主机是国外主机就不存在这个问题。
域名备案
域名这里最麻烦的就是这里了,各省管局(工信部)要求不同,各空间商(IDC)规则也不同,但是万变不离其宗,就是他要什么资料,就给什么资料!
必需资料:
主体(或主办单位)信息:
主体全称(公司名)、
主办单位性质(自行选择)、
证件类型(一般都是营业执照)、
证件号码(营业执照上的统一社会信用代码)、
证件地址(营业执照上的住所)、
通讯地址(一般都是住所,如果不通过看原因)、
网站名称(一般填写公司名称必过,这里的网站名称跟后续的网站Title没什么关系)
备案域名(填写你要备案的域名)
前置或专项审批内容类型(一般都没有,选择不涉及)
备案人(法人)
法人姓名(营业执照上的法人姓名)
法人的个人资料(身份证、座机、手机、邮箱、qq等等)
网站负责人资料:
网站负责人就是之后的空间商回执电话和管局回执电话打给谁的事情, 可以直接填写法人的资料,但是如果法人不爱接电话,那么备案可能被驳回。
网站负责人资料就是某个人的基本资料,按需填写即可。
幕布照片
在哪个空间商备案,就要拍哪个空间商的幕布照片,如果公司里没有,联系空间商发幕布,如果有,直接拍网站负责人的幕布照片,空间商那里都有例子怎么拍。
网站真实性核验单(核验单)
各个空间商都有示例,按示例填写即可。
网络安全承诺书
如果需要,按示例做。
域名证书
如果需要,按示例做。
备案业务验证码,这个东西是空间商限制你一台主机能备案几个域名的东西,阿里是买一台3个月以上的服务器给5个备案业务验证码,也就是说你一个服务器只能有5个网站,非常坑人。这个东西在各个空间商的主机管理或备案系统里找,如果实在找不到就联系客服问。
资料全部提交后,备案流程是空间商先审核一遍,正常1个工作日内就会有结果,如果被驳回,按照驳回原因修改,如果提交到管局,基本上就通过了,耐心等待15~25天即可。
- 主机
主机就是服务器,分为虚拟主机和云服务器,虚拟主机就类似你D盘里的一个文件夹,云服务器类似一台完整的电脑,你可以远程链接到云服务器,进行环境配置,程序搭建等等。
既然是主机,就要有操作系统(OS),目前操作系统就两个大类,Windows和Linux。
Windows(操作系统):
优点:图形化界面,符合全世界的操作习惯;
缺点:有些程序扩展或者各种你想不到的配置问题,windows操作起来太复杂。或者根本就不支持Windows。
Linux(操作系统)推荐:
优点:开源,也就是说你只要坚持学习,你可以尽情的折腾他,面向服务端的各种应用,扩展比Windows好操作;
缺点:命令行操作,对新手不是很有好,但是你只要坚持折腾一段时间,入了门之后,会发现命令行操作才是程序员的归属!会让你找到计算机世界的感觉!
选择好后操作系统,还要选择镜像(便于理解举例:WindosXp,Win7,Win10这些都是镜像)。
Windows(镜像):
选择中间版本即可(感觉中间版本使用的人最多,没做过实际调查)
Linux(镜像):
选择中间版本即可(感觉中间版本用的人最多,没做过实际调查),我自己使用的全是Centos6.x
选择镜像不用纠结!!!
配置:
配置当然是越高越好,根据老板的预算来吧。
搭建环境:
LAMP(Linux、Apache、Mysql、Php)
LNMP(Linux、Nginx、Mysql、Php)
不管是哪种环境,都能把网站跑起来,不用纠结太多,这里不讨论哪个好的问题,等你慢慢成长之后,自然会做出选择。
重点是如何搭建环境
这里选择通过面板搭建(面板就是把服务器一系列的操作变成网站后台那种傻瓜式操作)
对于新手来说很友好,而且也比较节省时间,等你以后成为高手之后,就可以抛弃面板,或者自己写面板。
面板有很多,WDCP(老牌),宝塔(新晋),护卫神等等。。。
这里推荐宝塔面板,百度搜一下就出来,按照他官网的安装教程,复制命令,进入你的服务器粘贴命令,等待安装完成。具体的一系列操作请去他的官网学习。
服务器知识非常庞大,这里只讲怎么能够把网站搭建起来的基础知识。
- 网站程序
既然是初级phper,并且面向小公司,就讲点小公司常用的程序吧。
小公司常用开源程序,织梦(dedecms)、帝国(Ecms)、论坛(discuz)、WP(wordpress)、Zblog(博客)、等等等等太多的开源程序。
所有的开源程序都有自己的一套语法,如果你是在一个传统企业,可能面对的是一套程序,只需要搞懂其中的结构、语法就ok。
如果是你在一个小互联网公司,你可能要维护几十个不同程序写的不同网站(比较头疼,需要你有较强的抗压能力和学习能力,在这种公司提升的最快,因为什么事情都需要你来做。)
这里不讨论各个程序的语法、结构等等,这些内容百度都能搜的到,只要你能耐心的看,耐心的学就行。
这里讨论的是,无论是什么开源程序,都有他的优缺点,而且,都不如自己写的程序来的顺手,所以,如果有时间,一定要用php框架写一套自己的小型cms系统,有助于你理解小型程序的根本,只要你理解了根本,剩下的就是扒模板,套语法的事情了。
至于PHP框架的选择,这里推荐THINKPHP5.X,有人肯定会反驳我说Yii、Lararvel什么什么的,我这里只是面向初级程序员,面向新手,最快,最容易,就是最好的。等新手成长为熟手之后,并且还保持着坚持学习,他自然会学习不同的框架扩展自己的技能!
注意:织梦、帝国等程序非常容易被黑,要做好安全检查,服务器权限等等
- 现在,我们域名、主机、程序都有了,需要把他们连到一起,才能把网站上线~~~
在域名备案的时候,你需要等待20天左右,域名才能备案完成,所以这些时间就是你搭环境、写程序的时间。
如果你是按照我说的做的,服务器安装的是宝塔面板,并且配置好了环境(lamp或lnmp),你现在需要在面板里添加网站,由于域名还没备案成功,先填写一个IP+端口号即可访问,IP地址填写你服务器的IP
这样就可以暂时用IP加端口号访问你的网站,然后调试你的网站。
添加站点注意:有的程序入口文件是在二级目录里,所以网站目录要设置好
Thinkphp-5.x入口文件就在public目录里,所以网站目录要指向public目录
伪静态设置,有些网站404,多半是伪静态的原因,根据程序的不同,选择不同的伪静态规则
- 安全
安全是网站必不可少的一部分
这里推荐使用云锁服务器安全软件,有程序挂马查杀,目录保护,服务器访问保护等等功能,对于新手来说足够用了。
注意:宝塔在安装插件或者扩展的时候,有可能被云锁拦截,停用云锁的服务或者卸载云锁再次安装即可。
- 备份
一定要养成备份的习惯,无论是手动备份还是自动备份,不知道会出什么事情,这是救你的东西
1、基本的空间商都给服务器提供了快照功能,收费的但是费用不是很高,一定要设置好。
2、宝塔面板 计划任务里提供了定时任务备份数据库和网站,设置好。
3、手动备份.sql文件,就是数据库,保证做到每天备份重要的数据。
- 工具
工欲善其事,必先利其器
推荐工具,根据你自己喜好选择
开发工具:
PhpStorm、SublimeText3
数据库工具:
Navicat for Mysql
FTP:
Flashfxp
工具有很多,选择自己喜欢的即可,选择后,没事常看看他的配置、插件等等,对开发效率有很大的提升。
- 杂谈
这篇笔记都是记录的非常非常基础的东西,基本上全都走通一遍,下次就会了,程序员最重要的是保持住一颗学习的心,不断的去探索,实践,最终都会成为高手的~ 加油!!!