6.運行環(huán)境
常見的環(huán)境调缨,以及服務器搭建
運行環(huán)境
環(huán)境就是你這一套代碼跑起來,需要的一系列必備軟件配置吆你。就像你打游戲弦叶,裝好了提示你缺什么運行庫
環(huán)境一般分為三種:
本地開發(fā)環(huán)境,你自己電腦上折騰開發(fā)的
線上測試環(huán)境妇多,開發(fā)好了伤哺,放到線上進行測試,看看代碼實際有沒有問題砌梆,有沒有bug
線上生產(chǎn)環(huán)境默责,項目正式運行的環(huán)境,真實的用戶數(shù)據(jù)咸包,都在這里桃序。一定謹慎操作,和你平時的開發(fā)測試區(qū)分隔離烂瘫,冷靜下來媒熊,別胡亂來奇适,一個不小心數(shù)據(jù)庫被你刪了,幾十萬人的數(shù)據(jù)沒了芦鳍,這是很可怕的嚷往,能恢復還好,要是不能恢復柠衅,假裝鎮(zhèn)定皮仁,趕緊收拾下跑路吧。
某電商大廠菲宴,據(jù)說一個無條件滿減優(yōu)惠券贷祈,應該是測試環(huán)境下的,失誤放到了線上生產(chǎn)環(huán)境势誊,被羊毛黨發(fā)現(xiàn)粟耻,瘋狂利用下單眉踱,一夜之間損失千萬。
一般來說php的運行必備環(huán)境
操作系統(tǒng)+必備軟件
LAMP = Linux + Apache + Mysql +Php
或者WAMP = Windows
或者使用Nginx饭玲,不選擇Apache叁执,即為LNMP
必備軟件
1.Web服務矮冬,apache或nginx
Nginx和apache就是用來處理web請求的,各有優(yōu)缺點
Nginx屬于輕量級吆录,處理高并發(fā)請求
Apache比較穩(wěn)定琼牧,功能比較強
對于新手均可使用
2.數(shù)據(jù)庫
Mysql目前比較常用
或者Oracle巨坊,適合企業(yè)級要求較強的項目
以及Sqlserver等
Redis,高性能內(nèi)存數(shù)據(jù)庫侄柔,適合作為緩存
以及Memcache等常用來緩存數(shù)據(jù)
NoSql數(shù)據(jù)庫,非關系型數(shù)據(jù)庫
比如Mongodb
3.Php
php主要是5.6版本以及7
php7性能更好移剪,大概是兩倍的性能較php5薪者,但是部分語法與php5不同
明確項目環(huán)境版本要求,能否支持php7
軟件或者操作系統(tǒng)赶站,版本請選擇穩(wěn)定版纺念,stable版,不用非得追求最新版烙博,項目最主要的穩(wěn)定烟逊。如果不確定可以查一下版本使用情況,選擇穩(wěn)定版
本地開發(fā)環(huán)境
大多數(shù)人使用win7 win10系統(tǒng)即可
在win環(huán)境下乔宿,可以選擇一些一鍵安裝包访雪,如wampserver,phpstudy等
一鍵安裝坝橡,自動配置好各種必備軟件精置,啟動即可使用
如果想要嘗試Linux環(huán)境
1.可以選擇安裝win+linux雙系統(tǒng),linux操作和win有較大區(qū)別番宁,多使用命令行進行操作蝶押,很多Win軟件不能在Linux運行政供,適合有一定動手能力的選擇朽基。
Linux發(fā)行版,經(jīng)常聽到說centos稼虎,redhat,ubuntu這些都是不同發(fā)行版霎俩,可以理解為將原有Linux內(nèi)核深度定制打却,針對不同用戶谎倔,比如有的針對普通用戶,開發(fā)一套友好的界面交互系統(tǒng)捌肴,如Ubuntu(烏班圖)藕咏,又比如有的以系統(tǒng)穩(wěn)定為目的,為服務器設計饥悴。其本質(zhì)都是Linux
可以考慮安裝Fedora盲再,Ubuntu
2.或者安裝虛擬機,虛擬機就是一個模擬環(huán)境軟件济榨,沙盒軟件绿映,在你電腦上模擬出來一個真實電腦環(huán)境叉弦,相當于多了一個新電腦藻糖。在這個虛擬機軟件里面,你可以安裝各種系統(tǒng)樱拴,各種軟件,隨便折騰晶乔。原有電腦不受影響,畢竟是模擬出來的一個環(huán)境阵漏,而且和原電腦環(huán)境算是隔離的狀態(tài)翻具。
虛擬機軟件:Vmware,VirtualBox等
線上環(huán)境
平時開發(fā)一般是在本地電腦上開發(fā)測試叹洲,開發(fā)完成測試OK后工禾,放到線上環(huán)境運行代碼,一般線上正式運行環(huán)境是服務器糙捺,因為項目肯定要保證全天候正常穩(wěn)定笙隙,而自己電腦你關機了就沒法用了,所以
服務器就是跑在遠程签钩,24小時不停機連續(xù)運行項目的電腦坏快,或者很多電腦即服務器集群。
線上環(huán)境一般多為Linux昧旨,穩(wěn)定占資源少
也有部分Windows server祥得,win的服務器版本
以Linux為例
為了保證線上環(huán)境穩(wěn)定,高效乒疏,往往沒有交互界面饮焦,只能通過命令操作窍侧,所以要熟悉基本操作伟件,掌握一些基本linux命令
如
1.文件增刪改查
2.常見軟件安裝配置
必須掌握必備linux基本命令锋爪,要不然你公司項目出了問題爸业,你向別人請教探橱,別人跟你說纠修,rm -rf老厌,你高興的執(zhí)行了一下,結(jié)果文件都被刪了耸黑,等著跑路吧
Linux線上環(huán)境大刊,系統(tǒng)一般常用Centos,Debian等等
比較穩(wěn)定葫辐,占用資源少伴郁,一般服務器主機商自帶這些常用鏡像
服務器搭建
1.主機商選擇(給你提供服務器購買使用),一般來說選擇大廠剂陡,主要是穩(wěn)定
國內(nèi)狐胎,阿里云、騰訊云
國外,亞馬遜骆姐,Vultr等
2.配置選擇捏题,看業(yè)務需求
小項目公荧,個人搭博客同规,或者幾十個用戶,使用量绪钥,并發(fā)量也不是很大的項目关炼,對于性能要求不高的比如官網(wǎng)展示,請選擇寸潦,1核1G內(nèi)存社痛,1M帶寬
如果用戶數(shù)量多,性能要求高斩箫,選擇高性能凡怎,高配置的服務器。并且選擇一些額外付費服務寨典,如云數(shù)據(jù)庫房匆、對象存儲等服務,優(yōu)化系統(tǒng)速度井氢,提高用戶體驗
3.初始設置
當你在阿里云或者騰訊云等主機商買了服務器岳链,選擇了默認鏡像,會初始設置一個管理員密碼
方式是設置超級管理員root和密碼约急,記清楚,記到小本本厌蔽,別忘了
另一種方式是通過PublicKey,生產(chǎn)一個公鑰和私鑰纬向,這倆是配對的戴卜,服務器上添加一個公鑰,連接用私鑰膳帕,倆缺一不可危彩。通過一些軟件Xshell或者putty之類可以生成
4.安全規(guī)則
主機商默認可能關閉了某些端口遠程連接泳桦,端口相當于你電腦上的各種接口,usb接口谒府,網(wǎng)線接口浮毯。關了肯定不能用了,所以需要打開這些常用端口债蓝,設置安全組規(guī)則
22 Linux遠程連接端口
80 http網(wǎng)站訪問
443 https,比起http更安全
21 Ftp端口
3306 Mysql數(shù)據(jù)庫遠程連接端口
5.Linux系統(tǒng)遠程連接
使用連接工具
Xshell等
服務器公網(wǎng)IP芳誓,用戶名root啊鸭,密碼
或者PublicKey
服務器公網(wǎng)IP,ip是啥赂摆,就相當于你家地址,快遞怎么給你送貨的曲楚,是不是根據(jù)地址門牌號褥符。你是怎么打開網(wǎng)站的喷楣,怎么知道是哪個網(wǎng)站鹤树,是哪個服務器,通過域名和IP曲伊,找到對應服務器追他。
連接成功后,就可以輸入Linux命令操作了
6.配置域名
域名是啥懈糯,方便人們記憶的赚哗,ip是一串數(shù)字硅堆,不好記啊
你能記住baidu,很好記够掠,ip xxx.xxx.xxx.xxx就不能記那么清楚朴乖。
域名解析,綁定對應的服務器ip袁勺,這樣用戶訪問域名畜普,就能找到對應的服務器
子域名,一個域名钝荡,xxx.com可以設置很多子域名,比如
a.xxx.com赎离,b.xxx.com,針對不同需求設置
國內(nèi)需要備案梁剔,阿里云之類都有備案專區(qū)舞蔽,按照流程即可
一鍵配置面板**
面向不熟悉Linux,或者不想花時間配置各種運行軟件的用戶个盆,使用一鍵安裝面板
寶塔朵栖,Appnode,AMH等
只需要連接Linux之后编兄,執(zhí)行一行代碼声登,即可自動安裝面板
面板會帶一個圖形界面,之后鼠標點幾下悯嗓,就能安裝各種必備軟件,搭建網(wǎng)站铅祸,最簡單的環(huán)境搭建方式
正規(guī)大公司合武,肯定不會讓你使用面板,主要是安全性盟庞,可靠不可靠汤善?有沒有安全漏洞票彪?所以你還是得會一些linux基本操作