CentOS6.6 32位 Minimal版本纯编译安装Nginx+MySQL+PHP+M(4)

安装PHP
安装PHP之前需要安装libmcrypt:
将libmcrypt解压,进入解压目录,执行以下命令:
[root@linuxidc libmcrypt-2.5.8]# ./configure && make && make install

安装wget组件:
[root@linuxidc src]# yum install wget

进入/usr/local/src/目录下载mhash:
[root@linuxidc src]# wget

下载完毕,解压安装:
[root@linuxidc mhash-0.9.9.9]# ./configure && make && make install

进入/usr/local/src/目录,下载mcrypt:
[root@linuxidc src]# wget :81/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/soft.7dot.com/soft/mcrypt-2.6.8.tar.gz

解压后,进入解压目录,执行以下命令:
[root@linuxidc mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib

编译安装:
[root@linuxidc mcrypt-2.6.8]# ./configure && make && make install

等待安装完成,解压php:
[root@linuxidc src]# tar jvxf php-5.6.5.tar.bz2

安装freetype:
[root@linuxidc php-5.6.5]# yum install freetype-devel

Php5.5以上需要安装开发工具:
[root@linuxidc php-5.6.5]# yum groupinstall “Development Tools”

建立php安装目录:
[root@linuxidc libmcrypt-2.5.8]# mkdir -p /usr/local/php5

进入php解压目录,预编译:
[root@linuxidc php-5.6.5]# ./configure –prefix=/usr/local/php5 –with-config-file-path=/usr/local/php5/etc –with-MySQL=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-mysql-sock=/tmp/mysql.sock –with-gd –with-iconv –with-zlib –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl –with-pdo-mysql=/usr/local/mysql –with-fpm-user=web –with-fpm-group=web –with-png-dir –with-freetype-dir –with-jpeg-dir

如果预编译总是不通过,可以参考下面这篇博客来解决问题再次预编译,知道预编译通过。

编译,此过程配置不好的电脑时间会很长:
make

安装:
make install

复制PHP配置文件到安装目录:
[root@linuxidc php-5.6.5]# cp php.ini-production /usr/local/php5/etc/php.ini

删除系统自带的配置文件:
[root@linuxidc php-5.6.5]# rm -rf /etc/php.ini

添加软连接:
[root@linuxidc php-5.6.5]# ln -s /usr/local/php5/etc/php.ini /etc/php.ini

拷贝模板文件为php-fpm配置文件:
[root@linuxidc php-5.6.5]# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf

编辑php-fpm配置文件:
[root@linuxidc php-5.6.5]# vim /usr/local/php5/etc/php-fpm.conf

去掉pid = run/php-fpm.pid前面的;注释
找到user和group,改成:
user=web
group=web

保存退出。拷贝php-fpm到系统启动目录:
[root@linuxidc php-5.6.5]# cp /usr/local/src/php-5.6.5/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

添加php-fpm执行权限:
[root@linuxidc php-5.6.5]# chmod +x /etc/rc.d/init.d/php-fpm

设置php-fpm开机启动:
[root@linuxidc php-5.6.5]# chkconfig php-fpm on

编辑php.ini:
[root@linuxidc php-5.6.5]# vim /usr/local/php5/etc/php.ini

设置时区
修改为:date.timezone = PRC

禁止显示php版本的信息
修改为:expose_php = OFF

支持php短标签
修改为:short_open_tag = ON

创建web目录:
[root@linuxidc nginx-1.7.0]# mkdir -p /home/data/web

设置nginx支持php:
[root@linuxidc php-5.6.5]# vim /usr/local/nginx/conf/nginx.conf

修改为:
server {
listen 80;
#域名
server_name myphp.com;
#网站发布目录
root /home/data/web;
#charset koi8-r;

#access_log logs/host.access.log main; #支持 location / { index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { # root html; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { # root html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { #root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }

设置网站发布目录所有者:
[root@linuxidc php-5.6.5]# chown web.web /home/data/web/ -R

设置目录权限:
[root@linuxidc php-5.6.5]# chmod 700 /home/data/web/ -R

编辑php探针:
[root@linuxidc php-5.6.5]# vim /home/data/web/index.php

内容为php代码,phpinfo信息(CSND博客屏蔽掉了php代码)。

重启系统:
[root@linuxidc php-5.6.5]# shutdown -r now

在局域网内访问需要在浏览器端PC配置hosts,即C:\Windows\System32\drivers\etc\hosts文件,添加以下信息
192.168.1.16 myphp.com

然后在浏览器端访问:

这里写图片描述

至此完整的LNMP已经正式完全编译安装完毕。

安装Memcached:
Memcached是做分布式缓存最简单的工具,学习成本也非常低,他可以将数据缓存到内存中,我们可以把一些临时数据放入到Memcached中,例如分布式的session等等,但是不要将持久化的数据放在memcached中,因为Memcached将数据放在内存中,当服务器宕机或者重启时,Memcached中的数据会被清空的,如果你想做持久化的缓存,可以选用Redis等,Redis的数据是持久化的,Redis会按照一定的规律将内存中的数据同步到磁盘中,服务器重启或者宕机,数据是可以恢复的。

安装Memcached之前先要安装libevent:
解压:
[root@linuxidc src]# tar xzvf libevent-2.0.19-stable.tar.gz

编译安装:
[root@linuxidc libevent-2.0.19-stable]# ./configure –prefix=/usr/local/libevent/ && make && make install

添加软连接:
[root@linuxidc libevent-2.0.19-stable]# ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5

解压,预编译memcached:
[root@linuxidc memcached-1.4.22]# ./configure –prefix=/usr/local/memcached/ –with-libevent=/usr/local/libevent/

编译并安装:
[root@linuxidc memcached-1.4.22]# make && make install

编辑Memcached启动脚本:
[root@linuxidc memcached-1.4.22]# vim /etc/rc.d/init.d/memcached

给予memcached执行权限:
[root@linuxidc memcached-1.4.22]# chmod +x /etc/init.d/memcached

设置memcached开机启动:
[root@linuxidc memcached-1.4.22]# chkconfig –add memcached
[root@linuxidc memcached-1.4.22]# chkconfig memcached on

安装telnet服务:
[root@linuxidc bin]# yum install xinetd
[root@linuxidc bin]# yum install telnet-server

设置telnet开机启动:
[root@linuxidc bin]# chkconfig telnet on

将telnet启用:
[root@linuxidc bin]# vim /etc/xinetd.d/telnet
将disabled变为no

配置防火墙允许23端口:
[root@linuxidc bin]# vim /etc/sysconfig/iptables

重启防火墙,重启xinetd:
[root@linuxidc bin]# service xinetd restart

局域网内windows电脑安装telnet客户端:

这里写图片描述

然后Windows+R,CMD回车。
键入:telnet 192.168.1.16 11211
Windows电脑的dos下开始会有问题,第一行看不见,直接回车从第二行开始操作memcached:

这里写图片描述

至此,memcached也安装完毕,如果php想利用memcached做分布式缓存,需要服务器安装memcached扩展,在yii框架中集成了对memcached做分布式缓存的很好的支持,如果你想把session放在memcached中,就自己查阅资料吧,度娘上一大把,好了,就到这里了。

希望可以帮助到你。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bf0e42c1a110bdf655ddd49bdcad16fc.html