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
来源:oschina
链接:https://my.oschina.net/u/4295934/blog/4293855