Web开发快速入门基础篇(6)运行环境

2019-10-19  本文已影响0人  清风闻仙醉

6.运行环境

常见的环境,以及服务器搭建

运行环境

环境就是你这一套代码跑起来,需要的一系列必备软件配置。就像你打游戏,装好了提示你缺什么运行库

环境一般分为三种:
本地开发环境,你自己电脑上折腾开发的
线上测试环境,开发好了,放到线上进行测试,看看代码实际有没有问题,有没有bug

线上生产环境,项目正式运行的环境,真实的用户数据,都在这里。一定谨慎操作,和你平时的开发测试区分隔离,冷静下来,别胡乱来,一个不小心数据库被你删了,几十万人的数据没了,这是很可怕的,能恢复还好,要是不能恢复,假装镇定,赶紧收拾下跑路吧。

某电商大厂,据说一个无条件满减优惠券,应该是测试环境下的,失误放到了线上生产环境,被羊毛党发现,疯狂利用下单,一夜之间损失千万。

一般来说php的运行必备环境
操作系统+必备软件
LAMP = Linux + Apache + Mysql +Php
或者WAMP = Windows
或者使用Nginx,不选择Apache,即为LNMP

必备软件
1.Web服务,apache或nginx

Nginx和apache就是用来处理web请求的,各有优缺点
Nginx属于轻量级,处理高并发请求
Apache比较稳定,功能比较强
对于新手均可使用

2.数据库

Mysql目前比较常用

或者Oracle,适合企业级要求较强的项目
以及Sqlserver等

Redis,高性能内存数据库,适合作为缓存
以及Memcache等常用来缓存数据

NoSql数据库,非关系型数据库
比如Mongodb

3.Php
php主要是5.6版本以及7
php7性能更好,大概是两倍的性能较php5,但是部分语法与php5不同
明确项目环境版本要求,能否支持php7

软件或者操作系统,版本请选择稳定版,stable版,不用非得追求最新版,项目最主要的稳定。如果不确定可以查一下版本使用情况,选择稳定版

本地开发环境

大多数人使用win7 win10系统即可
在win环境下,可以选择一些一键安装包,如wampserver,phpstudy等
一键安装,自动配置好各种必备软件,启动即可使用

如果想要尝试Linux环境
1.可以选择安装win+linux双系统,linux操作和win有较大区别,多使用命令行进行操作,很多Win软件不能在Linux运行,适合有一定动手能力的选择。

Linux发行版,经常听到说centos,redhat,ubuntu这些都是不同发行版,可以理解为将原有Linux内核深度定制,针对不同用户,比如有的针对普通用户,开发一套友好的界面交互系统,如Ubuntu(乌班图),又比如有的以系统稳定为目的,为服务器设计。其本质都是Linux

可以考虑安装Fedora,Ubuntu

2.或者安装虚拟机,虚拟机就是一个模拟环境软件,沙盒软件,在你电脑上模拟出来一个真实电脑环境,相当于多了一个新电脑。在这个虚拟机软件里面,你可以安装各种系统,各种软件,随便折腾。原有电脑不受影响,毕竟是模拟出来的一个环境,而且和原电脑环境算是隔离的状态。
虚拟机软件:Vmware,VirtualBox等

线上环境

平时开发一般是在本地电脑上开发测试,开发完成测试OK后,放到线上环境运行代码,一般线上正式运行环境是服务器,因为项目肯定要保证全天候正常稳定,而自己电脑你关机了就没法用了,所以

服务器就是跑在远程,24小时不停机连续运行项目的电脑,或者很多电脑即服务器集群

线上环境一般多为Linux,稳定占资源少
也有部分Windows server,win的服务器版本

以Linux为例
为了保证线上环境稳定,高效,往往没有交互界面,只能通过命令操作,所以要熟悉基本操作,掌握一些基本linux命令

1.文件增删改查
2.常见软件安装配置

必须掌握必备linux基本命令,要不然你公司项目出了问题,你向别人请教,别人跟你说,rm -rf,你高兴的执行了一下,结果文件都被删了,等着跑路吧

Linux线上环境,系统一般常用Centos,Debian等等
比较稳定,占用资源少,一般服务器主机商自带这些常用镜像

服务器搭建

1.主机商选择(给你提供服务器购买使用),一般来说选择大厂,主要是稳定
国内,阿里云、腾讯云
国外,亚马逊,Vultr等

2.配置选择,看业务需求
小项目,个人搭博客,或者几十个用户,使用量,并发量也不是很大的项目,对于性能要求不高的比如官网展示,请选择,1核1G内存,1M带宽
如果用户数量多,性能要求高,选择高性能,高配置的服务器。并且选择一些额外付费服务,如云数据库、对象存储等服务,优化系统速度,提高用户体验

3.初始设置
当你在阿里云或者腾讯云等主机商买了服务器,选择了默认镜像,会初始设置一个管理员密码
方式是设置超级管理员root和密码,记清楚,记到小本本,别忘了
另一种方式是通过PublicKey,生产一个公钥和私钥,这俩是配对的,服务器上添加一个公钥,连接用私钥,俩缺一不可。通过一些软件Xshell或者putty之类可以生成

4.安全规则
主机商默认可能关闭了某些端口远程连接,端口相当于你电脑上的各种接口,usb接口,网线接口。关了肯定不能用了,所以需要打开这些常用端口,设置安全组规则

22 Linux远程连接端口
80 http网站访问
443 https,比起http更安全
21 Ftp端口
3306 Mysql数据库远程连接端口

5.Linux系统远程连接
使用连接工具
Xshell
服务器公网IP,用户名root,密码
或者PublicKey

服务器公网IP,ip是啥,就相当于你家地址,快递怎么给你送货的,是不是根据地址门牌号。你是怎么打开网站的,怎么知道是哪个网站,是哪个服务器,通过域名和IP,找到对应服务器。

连接成功后,就可以输入Linux命令操作了

6.配置域名
域名是啥,方便人们记忆的,ip是一串数字,不好记啊
你能记住baidu,很好记,ip xxx.xxx.xxx.xxx就不能记那么清楚。
域名解析,绑定对应的服务器ip,这样用户访问域名,就能找到对应的服务器
子域名,一个域名,xxx.com可以设置很多子域名,比如
a.xxx.com,b.xxx.com,针对不同需求设置

国内需要备案,阿里云之类都有备案专区,按照流程即可

一键配置面板**

面向不熟悉Linux,或者不想花时间配置各种运行软件的用户,使用一键安装面板
宝塔,Appnode,AMH等
只需要连接Linux之后,执行一行代码,即可自动安装面板

面板会带一个图形界面,之后鼠标点几下,就能安装各种必备软件,搭建网站,最简单的环境搭建方式

正规大公司,肯定不会让你使用面板,主要是安全性,可靠不可靠?有没有安全漏洞?所以你还是得会一些linux基本操作

上一篇下一篇

猜你喜欢

热点阅读