LNMP(nginx1.4.5+mysql5.5+php5.4) 环境的搭建

#####编译安装nginx
(1).

[root@lnmp-n nginx-1.4.5]# ./configure --prefix=/usr/local/nginx --user=apache --group=apache --with-http_ssl_module 
--with-http_stub_status_module --with-http_gzip_static_module && make && make install

(2).编写启动脚本

#!/bin/bash
#
# nginx          Start up the web server daemon
#
# chkconfig: 1426 33 22
# description: nginx
#
# processname: nginx
### BEGIN INIT INFO
### END INIT INFO
#source function
. /etc/rc.d/init.d/functions
#variables
NGINX_PID=/usr/local/nginx/logs/nginx.pid
NGINX_CONF=/usr/local/nginx/conf/nginx.conf
NGINX_BIN=/usr/local/nginx/sbin/nginx
#output information
function if_no {
if [ $2 == 0 ]; then
        echo -n "nginx is $1 ok!" && success && echo
else
        echo -n "nginx is $1 error!" && faiure && echo 
fi
}
#switch
case $1 in
start)
if [ -f ${NGINX_PID} ]; then
        echo "nginx is already start!" && exit
else
        ${NGINX_BIN} -c ${NGINX_CONF}
        if_no start $?
fi
;;
stop)
if [ ! -f ${NGINX_PID} ]; then
        echo "nginx is already stop!" && exit
else
        cat $NGINX_PID | xargs kill -QUIT
        if_no stop $?
fi
;;
restart)
if [ ! -f ${NGINX_PID} ];then
  { echo "nginx is already stop!" && echo
   ${NGINX_BIN} -c ${NGINX_CONF}
   if_no $1 $?
}
else
   cat $NGINX_PID | xargs kill -QUIT
   if_no stop $?
   ${NGINX_BIN} -c ${NGINX_CONF}
   if_no start $?
fi
;;
"status")
if [ -f ${NGINX_PID} ]; then
        echo "nginx is running!" && exit
else
        echo "nginx is not running!" && exit
fi
;;
"configtest")
        $NGINX_BIN -t -c $NGINX_CONF
;;
"*")
        echo "use:{start|stop|restart|status|configtest}"
;;
esac



//设置为开机启动

[root@LVS nginx-1.4.6]# chmod +x /etc/init.d/nginxd 
[root@LVS nginx-1.4.6]# chkconfig --add nginxd
[root@LVS nginx-1.4.6]# chkconfig --list|grep nginxd
nginxd             0:off    1:on    2:on    3:off    4:on    5:off    6:on

#####编译安装mysql
(1).

[root@lnmp-n mysql-5.5.30]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/dbdata \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=yes\
-DWITH_NDBCLUSTER=1
&& make && make install

####编译安装mysql5.5 报错
需要安装的东西

yum install gcc
yum install gcc-c++
yum install cmake.x86_64
yum install make
1.-- Could NOT find Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
  Curses library not found.  Please install appropriate package,
解决办法:安装ncurses-devel
yum -y install ncurses-devel
 
删除CMakeCache.txt
rm -f CMakeCache.txt

(2).创建mysql用户

[root@lnmp-n mysql-5.5.30]#useradd mysql

(3).创建目录并授权

[root@lnmp-n mysql-5.5.30]#mkdir -p /data/dbdata
[root@lnmp-n mysql-5.5.30]#chown mysql.mysql /usr/local/mysql/ -R
[root@lnmp-n mysql-5.5.30]#chown mysql.mysql /data/dbdata

(4).复制配置文件和启动脚本

[root@lnmp-n mysql-5.5.30]# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf 
[root@lnmp-n mysql-5.5.30]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

(5).初始化数据库

[root@lnmp-n mysql-5.5.30]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/dbdata/ --basedir=/usr/local/mysql/

(6).修改用户密码

mysql> update user set password=password('mysql') where user='root';

######PHP编译安装

(1).

[root@lnmp-n php-5.4.25]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc 
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/ 
--with-freetype-dir --with-libxml-dir=/usr --enable-xml --enable-fpm --enable-mbstring --with-openssl 
--with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear

(2).安装过程中的错误

******
Error..
fopen(http://pear.php.net/install-pear-nozlib.phar): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
make: *** [install-pear] Error 1


因为DNS没有配置的原因
vim /etc/resolv.conf

***********
configure: error: Cannot find ldap.h
解决:[root@lnmp-n php-5.4.25]# yum install compat-openldap.x86_64 openldap-devel.x86_64

************
configure: error: Cannot find ldap libraries in /usr/lib
解决:cp -frp /usr/lib64/libldap* /usr/lib/

***********
/home/php-5.4.25/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

解决:
执行find命令来查找libmysqlclient.so
[root@yin131 etc]#  find / -name libmysqlclient.so
/usr/local/mysql/lib/libmysqlclient.so
/usr/local/src/mysql-5.1.70/libmysql/.libs/libmysqlclient.so
/home/software/mysql-5.5.30/libmysql/libmysqlclient.so
把/usr/local/mysql/lib加入到文件/etc/ld.so.conf中
#####更新配置
[root@yin131 etc]# /sbin/ldconfig -v

*********

Warning: require_once(phar://install-pear-nozlib.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://install-pear-nozlib.phar/index.php" in /data0/software/php-5.4.25/pear/install-pear-nozlib.phar on line 1236
make[1]: *** [install-pear-installer] Error 255
make: *** [install-pear] E

执行yum install libtool-ltdl-devel
然后删除PHP解压目录,重新解压configure make && make install

(3).复制PHP的配置文件和php-fpm文件

[root@lnmp-n conf]# cp /home/php-5.4.25/php.ini-production /usr/local/php/php.ini

[root@lnmp-n etc]# cp php-fpm.conf.default php-fpm.conf

(4).更改nginx的配置文件

[root@lnmp-n nginx]# vim conf/nginx.conf

放开以下内容,为对PHP的支持:
location ~ \.php$ {
            root           html; //默认目录
            fastcgi_pass   127.0.0.1:9000;//监听端口
            fastcgi_index  index.php;   //浏览器中首选的文件格式
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

(5).编辑nginx的文件 fastcgi_params

[root@lnmp-n nginx]# vim conf/fastcgi_params
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

(6).启动nginx和php

[root@lnmp-n nginx]# /etc/init.d/nginxd configtest
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@lnmp-n nginx]# /etc/init.d/nginxd restart
nginx is stop ok!                                          [  OK  ]
nginx is start ok!                                         [  OK  ]

//-b后为监听端口,与nginx配置文件中的相同,-c后接配置文件
[root@lnmp-n nginx]# /usr/local/php/bin/php-cgi -b 127.0.0.1:9000 -c /usr/local/php/php.ini

#######测试
编写index.php的测试脚本获取php的信息

<?php
    phpinfo();
?>


转载于:https://my.oschina.net/loverGDH/blog/208693

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值