搞PHP這麼久,沒怎麼搭PHP環境,以前的工做中都有同事代勞。最近不怎麼忙,從頭研究一下PHP環境搭建。過程可能要持續幾天。php
目標:mysql
centos + tengine(淘寶開源nginx) + mysql + php + redis(緩存) + yaf(PHP框架) + xunsearch(搜索)linux
系統安裝:nginx
裝好VMware,下載CentOS-7-x86_64-Minimal-1511.iso,系統安裝過程當中,各類配置不一一贅述了,比較簡單。主要說一下網卡配置,由於是core版本,不少東西沒有,首頁得把網弄通,這樣才能須要什麼yum安裝什麼。c++
首先VMware虛擬機設置裏面網絡設置選好橋接模式redis
下一步,配置網卡文件/etc/sysconfig/network-scripts/ifcfg-eth0(ubuntu16.4請修改/etc/network/interfaces)sql
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes HWADDR=00:0C:29:ED:5C:20 #MAC地址 IPADDR=10.152.62.199 #IP地址 GATEWAY=10.152.62.254 #網關 DNS1=10.152.62.1 #DNS
主要下面四個選項須要配置,MAC地址能夠在虛擬機網絡適配器裏面找到數據庫
IP網關DNS能夠在宿主機裏面找到ubuntu
網關和DNS照抄宿主機,IP宿主機同網段找個沒人用的centos
保存配置,重啓網絡service network restart
最後再重啓下虛擬機reboot
從新進入以後 ping baidu.com 能ping通 網絡就OK啦
PHP安裝:
待續(2016年6月17日11:26:22)
core版本centos須要安裝gcc
yum install gcc
還須要安裝libxml2
yum install libxml2 yum install libxml2-devel
接着安裝PHP
tar -zxvf /tmp/php-xxx.xxx.gz ./configure --prefix=/opt/app/php --enable-fpm make make install
NGINX安裝:
待續(2016年6月17日14:46:07)
安裝淘寶版的nginx tengine,能夠去官網tengine.taobao.org下載。
安裝tengine須要pcre和openssl支持,下載解壓pcre和openssl。
安裝pcre須要g++,安裝openssl須要perl,yum安裝一下
yum install gcc-c++ #安裝g++ ./configure --prefix=/opt/app/pcre #安裝pcre make && make install yum install perl #安裝perl ./config --prefix=/opt/app/openssl #配置openssl make && make install
準備工做作好,接下來配置安裝tengine
./configure --prefix=/opt/app/nginx --with-pcre=/opt/soft/pcre.xx.xx --with-openssl=/opt/soft/openssl.xx.xx #配置nginx 注意這裏pcre和openssl的路徑是解壓路徑 make && make install #安裝
安裝完畢後,須要配置PHP和nginx使兩者關聯起來。
先配置PHP
groupadd www useradd -g www www #添加www用戶組和www用戶備用 cp php-fpm.conf.default php-fpm.conf vi php-fpm.conf #文件裏主要有[www]下user group listen等幾項須要修改 user = www group = www listen = /tmp/php-cgi.sock #默認IP加端口 聽說以sock文件方式配置速度較快 未測試 listen.owner = www listen.group = www listen.mode = 0666
接着配置nginx
server { listen 80; server_name mynginx.com; root /opt/case/mypro; location ~ .*\.(php)?$ { fastcgi_pass unix:/tmp/php-cgi.sock; #php-fpm.conf中listen項對應 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
配置完畢後,啓動PHP和nginx,建立一個測試文件。
/opt/app/php/sbin/php-fpm #啓動php /opt/app/nginx/sbin/nginx #啓動nginx vi index.php #測試文件 <?php phpinfo(); ?>
在宿主機中加好host,測試瀏覽測試文件
如圖顯示,就成功了。
安裝MySQL
待續(2016年6月20日15:33:28)
好了 接着裝MySQL,折騰了很久。
慣例首先下載MySQL,到官網下載頁,選MySQL Community Edition,社區版,也就是免費版,系統選擇上選Linux-Generic就好,文件格式我選的是gz格式的mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz。下載完畢後,解壓並初始化就好,名稱帶glibc表示是編譯好的版本。
tar -zxvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz cp mysql-5.7.13 /opt/app/mysql cd /opt/app/mysql mkdir data #建立數據庫存儲目錄 cd .. groupadd mysql useradd -g mysql mysql #建立專用用戶組用戶 chmod -R 755 mysql chown -R mysql.mysql mysql #修改目錄權限 cd mysql ./bin/mysqld --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data --user=mysql --initialize #數據庫初始化操做
注意初始化成功的話,會給你一個隨機密碼,記得保存一下,以後能夠在控制檯修改。
無錯誤的話,MySQL就安裝好了。進MySQL控制檯以前,還須要配置一下/etc/my.cnf文件
[mysqld] basedir=/opt/app/mysql #MySQL目錄 datadir=/opt/app/mysql/data #data目錄 socket=/var/lib/mysql/mysql.sock #sock文件 symbolic-links=0 [client] socket=/var/lib/mysql/mysql.sock
配置好以後,啓動MySQL
/opt/app/mysql/support-files/mysql.server start
而後進控制檯看看
/opt/app/mysql/bin/mysql -uroot -p
輸入初始化時生成的密碼,無誤的話就能夠進去啦
第一次進去會提示要修改密碼
set password=password('mima')
到此,MySQL安裝完成,接下來須要配置PHP,讓PHP裏面能夠調用MySQL。
首先要加上MySQL的擴展,進PHP的解壓目錄(注意不是安裝目錄),該目錄下有ext目錄,進去找到mysql目錄,再進去,運行phpize添加擴展
/opt/app/php/bin/phpize #運行phpize ./configure --with-php-config=/opt/app/php/bin/php-config --with-mysql=/opt/app/mysql #配置 make && make install #安裝
成功的話會提示生成的so文件存到了哪一個目錄。
這裏再裝一下pdo_mysql的擴展,由於MySQL擴展示在已經棄用了,說不定哪天就不支持了。安裝過程跟MySQL擴展同樣,找到對應目錄pdo_mysql進去
/opt/app/php/bin/phpize #運行phpize ./configure --with-php-config=/opt/app/php/bin/php-config --with-pdo-mysql=/opt/app/mysql #配置 make && make install #安裝
安裝好以後,須要修改php的ini文件,將這兩個擴展啓用。
這裏要注意的是,以前沒有配置ini文件,在phpinfo頁面能夠看到加載的ini文件是none,咱們須要將自帶的樣板文件拷一個到phpinfo頁面中的ini文件目錄,樣板文件在PHP解壓目錄下
cp /opt/softgz/php-5.5.36/php.ini-development /opt/app/php/lib/php.ini
接着修改
extension=mysql.so extension=pdo_mysql.so #啓用擴展 pdo_mysql.default_socket=/var/lib/mysql/mysql.sock mysql.default_socket = /var/lib/mysql/mysql.sock #mysql sock文件 與my.cnf中保持一致
重啓PHP
修改測試PHP文件,加上數據庫操做代碼,運行測試。OK的話,LNMP環境搭建完畢。接着裝redis緩存。
redis安裝
待續(2016年6月23日17:40:07)
這段時間一直有事,今天有空,就把redis給裝上了,比較簡單。
首先去redis官網redis.is下載好安裝包,而後解壓安裝便可
tar -zxvf redis-3.2.1.tar.gz cd redis-3.2.1 make && make install
完成以後,應該會有幾個redis命令可用了,redis-server運行看看,能看到 ‘The server is now ready to accept connections on port 6379’的字樣就表示成功了。
接着下載phpredis的中間件phpredis-develop,下載好以後解壓
cd phpredis-develop /opt/app/php/bin/phpize ./configure --with-php-config=/opt/app/php/bin/php-config make && make install ///vi php.ini ///extension=redis.so ///這裏要在PHP的ini文件中啓用redis擴展 ///重啓php
運行測試PHP文件,phpinfo裏面如今應該能看到redis的信息了。
在PHP測試文件裏面加上如下代碼
$redis = new redis(); $redis->connect('localhost','6379'); echo $redis->ping(); echo '<br />'; $redis->set('name','abc'); echo $redis->get('name');
頁面能看到
+PONG
abc
的字樣表示安裝成功了。
yaf安裝
待續(2016年7月28日11:10:44)