VM下LNMP環境搭建

搞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)

相關文章
相關標籤/搜索