LNMP(nginx1.4.5+mysql5.5+php5.4) 环境的搭建
2014-03-16 18:11
627 查看
#####编译安装nginx
(1).
(2).编写启动脚本
//设置为开机启动
#####编译安装mysql
(1).
####编译安装mysql5.5 报错
需要安装的东西
(2).创建mysql用户
(3).创建目录并授权
(4).复制配置文件和启动脚本
(5).初始化数据库
(6).修改用户密码
######PHP编译安装
(1).
(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文件
(4).更改nginx的配置文件
放开以下内容,为对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
(6).启动nginx和php
//-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的信息
(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(); ?>
相关文章推荐
- lnmp(nginx1.4.5+mysql5.5+php5.4)编译版搭建论坛
- CentOS7搭建LNMP(Linux+Nginx+MySQL+PHP) 环境
- 搭建lnmp环境(nginx1.9.15-源码)
- LNMP环境搭建(一:nginx)
- lnmp linux+php+mysql+nginx 环境搭建 (二)
- 搭建LNMP环境(mysql+php+nginx)
- (三)企业部分之lnmp环境的搭建:Nginx
- LNMP环境搭建(httpd-2.4.9,mysql-5.6.17,php-5.5.12,nginx-1.4.6,zendopcache,memcache)
- 使用putty连接linux服务器/VPS,并搭建lnmp集成环境(nginx+mysql+php)
- LNMP(linux+nginx+mysql+php)环境搭建_1
- CentOS5.5安装Nginx、PHP(FastCGI)、MySQL --搭建LNMP环境安装wordpress
- LNMP环境搭建,自启动 php7,mysql5.6,nginx1.11
- LNMP(Linux+nginx+MySQL+PHP)环境搭建
- LNMP环境的基础搭建,即Linux、Nginx、MySQL、PHP环境
- CentOS 7源码编译安装PHP5.6和Nginx1.7.9及MySQL(搭建LNMP环境)
- 搭建LNMP(linux+nginx+mysql+php)服务器环境配置实例教程
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- LNMP linux+nginx+mysql+php 环境搭建(基于centos)