最近公司增加了一臺測試用的服務器,當然因為只是測試用,所以決定所有東西都裝到一個服務器上,用來我們自己擼代碼,發測試版功能,做點小實驗神碼的,等等等等……反正就是方便用吧,所以自己來試了下搭建一臺完全的 LAMP 開發/測試環境,當然同樣踩到了無數的坑。
準備開始吧!
Step.1 準備服務器
那第一步,我們先搞個服務器吧,搞啥服務器呢,既然是測試用那就搞點不要錢的,或者方便的吧,這里就推薦大家試試用 AWS 或者自己機器上搭建虛擬機,比如 Vagrant 這樣的開發平臺也是可以的,這里,我們就用 AWS 了,反正可以免費一年, AWS 的優點是訪問國外網站超快,缺點自然是國內訪問超慢,當然大家用啥都可以的啦,這里假設我們已經有一臺 CentOS 7 的服務器了,并且假設你可以遠程鏈接到這臺服務器(比如 ssh )。
Setp.2 安裝配置 LAMP
首先我們安裝 Apache
安裝 Apache 很簡單,只需要通過 yum 安裝就可以了。
yum install httpd
安裝完成后,使用 systemctl 命令啟動,并設置為開機自動啟動。
systemctl start httpd.service systemctl enable httpd.service
出現問題時可以通過 systemctl status 來查看服務是否正確的啟動了,也可以到 /var/log/httpd 路徑下看訪問日志和錯誤日志來排查問題。
新的 CentOS 已經裝了 FirewallD 了,所以如果裝了這個,我們還需要告訴 FirewallD 打開防火墻。
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
接下來裝 MySQL
首先,我們要知道的是, MySQL 沒有在 CentOS 7 的軟件源庫里面, CentOS 7 里面有對應的替代品 MariaDB ,因為龜殼公司收購了 MySQL ,大家怕萬一將來 MySQL 閉源了,那不都跪了,于是就開了個分支自己開始做起 MariaDB 來了,這里我們還是手工添加 MySQL 的軟件源來安裝 MySQL 保證還是那個味道。
首先添加 MySQL 的軟件源。
yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
接下來安裝 MySQL 的客戶端和服務端。
yum install mysql-server mysql-client
安裝完成后,使用 mysql_secure_installation 來完成 MySQL 的安裝配置。
同樣需要為 MySQL 配置防火墻。
firewall-cmd --permanent --zone=public --add-service=mysql firewall-cmd --reload
接下來我們安裝 PHP 7
跟 MySQL 類似,目前發行包的軟件源里面是不包含 PHP 7 ,只包含了 PHP 5.x ,所以為了安裝 PHP 7 我們同樣需要添加 PHP 7 的軟件源,根據這幾天的實驗情況看, Remi 的 PHP 7 的軟件包和插件比較完善,所以我們就先添加 Remi 的軟件源。
yum install scl-utils yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
添加完成軟件源后,我們就可以安裝 PHP 7 和各種常用的包了。
yum install php70 php70-php-mysqlnd php70-php-curl php70-php-simplexml yum install php70-php-devel php70-php-gd php70-php-json php70-php-mcrypt yum install php70-php-mbstring php70-php-opcache php70-php-pear yum install php70-php-pecl-apcu php70-php-pecl-geoip php70-php-pecl-imagick yum install php70-php-pecl-json-post php70-php-pecl-memcache php70-php-pecl-memcached yum install php70-php-pecl-xmldiff php70-php-pecl-zip php70-php-pspell php70-php-soap yum install php70-php-tidy php70-php-xml php70-php-xmlrpc
接下來呢,這里其實還沒裝完,因為最初我是為了升級服務器 PHP 5.x 而裝的 PHP 7 ,所以如果你的服務器已經裝了 PHP 5.x 需要簡單的升級下,那么在這里安裝完成 PHP 7 的軟件包以后刪除 PHP 5.x 然后在安裝 php70-php 這個包。
yum remove php php-common
然后
yum install php70-php
之后修改配置文件重啟 Apache 就可以了,要注意的是, PHP 7 的配置文件放到了 /etc/opt/remi/php70 路徑下, PHP 7 的相關文件放到了 /opt/remi/php70/root/lib64/php 路徑下。
好,這樣,我們一個帶著 PHP 7 的服務器就裝好了,大家可以在上面自由玩耍享受 PHP 7 帶來的性能。
Setp.3 安裝 SASL 和 Memcached
首先 Memcached 大家都知道是什么東西了,那么我來說說 SASL 是什么鬼。 SASL 全稱 Simple Authentication and Security Layer 用來做安全機制驗證的,說簡單點,就是用這個東西,我們可以讓我們的 Memcached 在訪問前需要驗證下用戶名密碼,另外 Memcached 的 Binary 接口比需要使用 SASL 驗證,否則就會輸出 Writing an error: Unknown command 的錯誤(然而在 PHP 5.x 下,卻正常。。。所以這個問題研究了好會兒)。