VM下LNMP环境搭建

搞PHP这么久,没怎么搭PHP环境,之前的工作中都有同事代劳。最近不怎么忙,从头研究一下PHP环境搭建。过程可能要持续几天。

目标:

centos + tengine(淘宝开源nginx) + mysql + php + redis(缓存) + yaf(PHP框架) + xunsearch(搜索)

系统安装:

装好VMware,下载CentOS-7-x86_64-Minimal-1511.iso,系统安装过程中,各种配置不一一赘述了,比较简单。主要说一下网卡配置,因为是core版本,很多东西没有,首页得把网弄通,这样才能需要什么yum安装什么。

首先VMware虚拟机设置里面网络设置选好桥接模式

下一步,配置网卡文件/etc/sysconfig/network-scripts/ifcfg-eth0(ubuntu16.4请修改/etc/network/interfaces)

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可以在宿主机里面找到

113448_FC4X_1772981.png

网关和DNS照抄宿主机,IP宿主机同网段找个没人用的

保存配置,重启网络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)

转载于:https://my.oschina.net/u/1772981/blog/693364

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值