Nginx安装
安装版本: 稳定版 1.8.0
1).确定是否安装pcre-devel编译所需要的兼容正则,nginx需要pcre这个包文件
没有的情况下,直接用
[root@moban ~]# yum -y install pcre-devel #安装时有的可能没有安装openssl库,直接用 yum -y install openssl*安装
2).执行nginx编译安装
[root@moban ~]# ./configure --prefix=/application/nginx1.8.0 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module [root@moban ~]# make && make install
不出意外的话,nginx就安装成功了......
Mysql安装
关于mysql,常用的有以下安装方式: 1.源码安装 2.二进制安装 3.RPM包安装,本次安装使用的是二进制包安装(不需要编译,直接解压即可)
安装步骤:
1)建立用户
[root@moban ~]# useradd -M -s /sbin/nologin mysql
2)解压tar包
[root@moban ~]# tar xf mysql-5.5.45-linux2.6-i686.tar [root@moban ~]# cp mysql-5.5.45-linux2.6-i686 /application/mysql-5.5.45
3) 初始化data数据
[root@moban ~]# ln -s /application/mysql-mysql-5.5.45 /application/mysql #创建软链接 [root@moban ~]# mkdir /application/mysql/data #创建data目录 [root@moban ~]# chown -R mysql:mysql /application/mysql/data #修改所属用户与组 [root@moban ~]# cd /application/mysql/ [root@moban ~]# scripts/mysql_install_db --user=mysql --datadir=/application/mysql5.5.45/data/ --basedir=/application/mysql5.5.45/ #初始化数据
4)配置mysql服务启动所需要的脚本与配置文件
[root@moban ~]# cp support-files/mysql.server /etc/init.d/mysqld [root@moban ~]# cp support-files/my-.cnf/etc/my.cnf [root@moban ~]# vi /etc/init.d/mysqld #将mysqld文件里的第46行左右修改为: basedir=/application/mysql5.5.45/ datadir=/application/mysql5.5.45/data
5)优化MYSQL
#为root用户添加密码
[root@moban ~]# /application/mysql5.5.45/bin/mysqladmin -u root password '123456'
#删除mysql库user表中不需要的用户数据,默认只保留以下这两条用户数据
mysql> select user,host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | localhost | +------+-----------+
#删除用户的操作:
drop user [user列的内容]@[host列对应的内容] ;
MYSQL的搭建就已经成功了......
PHP安装
1).检查并安装相应的编译库文件
[root@moban tools]# rpm -qa zlib libxml libjpeg libpng freetype curl libiconv gd zlib-devel libxml-devel libjpeg-devel gd-devel freetype-devel curl-devel [root@moban tools]# yum -y install zlib libxml libjpeg libpng freetype curl libiconv gd zlib-devel libxml-devel libjpeg-devel gd-devel freetype-devel curl-devel
安装libiconv库
[root@moban tools]# cd libiconv-1.14 [root@moban libiconv-1.14]# ./configure --prefix=/usr/local/libiconv [root@moban tools]#make && make install
安装libmcrypt
[root@moban tools]# tar xf libmcrypt-2.5.8.tar.gz [root@moban tools]# cd libmcrypt-2.5.8 [root@moban tools]# .configure [root@moban tools]# make && make install [root@moban tools]# /sbin/ldconfig [root@moban tools]# cd libltdl/ [root@moban tools]# ./configure --enable-ltdl-install [root@moban tools]# make && make install
安装mhash
[root@moban tools]# wget http://soft.7dot.com/soft/mhash-0.9.9.9.tar.gz [root@moban tools]# tar xf mhash-0.9.9.9.tar.gz [root@moban tools]# cd mhash-0.9.9.9 [root@moban mhash-0.9.9.9]# ./configure [root@moban mhash-0.9.9.9]# make && make install
安装mcrypt--加密扩展库
Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。
Mhash为PHP提供了多种哈希算法,如MD5,SHA1,GOST 等。你可以通过MHASH_hashname()来查看支持的算法有哪些。
注意问题:
1该扩展不能提供最新的哈希算法。
2.该扩展结果原则上运算不可逆。
参考资料: http://baike.baidu.com/view/9549224.htm
)
安装Mcrypt
简介:PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库Mcrypt和Mhash。
其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
mcrypt 是 php 里面重要的加密支持扩展库,linux环境下:该库在默认情况下不开启。window环境下:PHP>=5.3,默认开启mcrypt扩展。
Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示。一般情况下开发用不到他们。
参考资料:http://baike.baidu.com/view/9537042.htm
[root@moban tools]# wget http://soft.7dot.com/soft/mcrypt-2.6.8.tar.gz [root@moban tools]# tar xf mcrypt-2.6.8.tar.gz [root@moban tools]# cd mcrypt-2.6.8 [root@moban mcrypt-2.6.8]# LD_LIBRARY_PATH=/usr/local/lib ./configure [root@moban mcrypt-2.6.8]# make && make install
PHP安装
在进行configure后,执行make操作会有一个错误:
/home/tools/php-5.3.27/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
make: *** [ext/phar/phar.php] Error 127
最好是提交先解决掉:
解决一:创建一个软链接:
[root@moban php-5.3.27]# ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib/
在执行make会报第二个错误:
chmod: cannot access `ext/phar/phar.phar': No such file or directory
解决二:
[root@moban tools]# tar php-5.3.27.tar.gz [root@moban tools]# tar xf php-5.3.27.tar.gz [root@moban tools]# cd php-5.3.27 [root@moban php-5.3.27]# yum install libxsl* [root@moban php-5.3.27]# yum install libxsl* -y [root@moban php-5.3.27]# ./configure \ --prefix=/application/php5.3.27 \ --with-mysql=/application/mysql5.5.45 \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-safe-mode \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --enable-short-tags \ --enable-zend-multibyte \ --enable-static \ --with-xsl \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-ftp ######看到如下内容说明./configure成功 +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. [root@moban php-5.3.27]# make && make install [root@moban php]# cp php-5.3.27/php.ini-production /application/php5.3.27/lib/php.ini
PHP配置文件的优化
[root@moban php-5.3.27]# cp /home/tools/php-5.3.27/php.ini-production /application/php/lib/php.ini [root@moban php-5.3.27]# cp php-fpm.conf.default php-fpm.conf #把php-fpm.conf的配置进行相应的修改,可以参考一些其他的资料
启动php
#检查语法是否有错误 [root@moban etc]# /application/php/sbin/php-fpm -t [04-Nov-2015 11:28:12] NOTICE: configuration file /application/php5.3.27/etc/php-fpm.conf test is successful #开启php-fpm进程 [root@moban etc]# /application/php/sbin/php-fpm [root@moban etc]# netstat -tunpl | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1427/php-fpm [root@moban etc]# ps -ef | grep php-fpm #查看进程 root 1427 1 0 11:23 ? 00:00:00 php-fpm: master process (/application/php5.3.27/etc/php-fpm.conf) nginx 1428 1427 0 11:23 ? 00:00:00 php-fpm: pool www nginx 1429 1427 0 11:23 ? 00:00:00 php-fpm: pool www nginx 1430 1427 0 11:23 ? 00:00:00 php-fpm: pool www nginx 1431 1427 0 11:23 ? 00:00:00 php-fpm: pool www nginx 1432 1427 0 11:23 ? 00:00:00 php-fpm: pool www root 1457 1359 0 11:29 pts/0 00:00:00 grep --color=auto php-fpm
把mysql,php,nginx设置为开机启动
[root@moban etc]# vi /etc/rc.local [root@moban etc]#/etc/init.d/mysqld start [root@moban etc]#/application/php/sbin/php-fpm [root@moban etc]#/application/nginx/sbin/nginx
最后,把php与nginx整合
server {
listen 80;
server_name www.etiantian.com;
location / {
root html;
index index.html index.htm;
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;
}
}
}
当我们把location ~ \.php$部分去掉注释,重启nginx后发现仍然不解析php,这时需要检查一下 fastcgi_param参数里把 /scripts 改成 $document_root ,代表网站的根目录。
mcrypt的安装,可以借鉴:http://www.cnblogs.com/huangzhen/archive/2012/09/12/2681861.html
软件的下载可以直接到: http://soft.7dot.com/
对nginx,fastcgi相关原理的介绍: http://www.linuxidc.com/Linux/2015-03/114654.htm