编译安装lnmp及问题解决

来源:互联网 发布:怎么在淘宝外卖上开店 编辑:程序博客网 时间:2024/04/30 13:33

隔一段时间没写博客了,积下好多日志。最近尝试玩了下云主机,安装lnmp,许多参数、安装命令也改变了,顺便写个文档记录下。安装的软件一般选择最新稳定版。
 一、安装nginx
安装nginx需要的库:
[root@XXX ~]# yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel
添加用户,顺便把php和mysql用户加上(分别为 php mysql):
[root@XXX nginx-1.2.5]# groupadd www
[root@XXX nginx-1.2.5]# useradd -G www -M -s /sbin/nologin nginx
创建文件夹:
[root@XXX ~]# mkdir soft
[root@XXX ~]# mkdir /usr/local/webserver
[root@XXX nginx-1.2.5]# mkdir /var/log/nginx
[root@XXX ~]# cd soft/
[root@XXX soft]# wget http://nginx.org/download/nginx-1.2.5.tar.gz
开始安装:
[root@XXX soft]# tar zxvf nginx-1.2.5.tar.gz 
[root@XXX soft]# cd nginx-1.2.5
[root@XXX nginx-1.2.5]# ./configure  --user=nginx --group=www --prefix=/usr/local/webserver/nginx --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
[root@XXX nginx-1.2.5]# make;make install
安装完成,配置nginx:
[root@XXX nginx-1.2.5]# cd /usr/local/webserver/nginx/
[root@XXX nginx]# vi conf/nginx.conf
前部分修改如下
user  nginx www;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  65535;
}
测试下:
[root@XXX nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful
启动nginx,成功访问:
[root@XXX nginx]# ./sbin/nginx 
配置nginx开机启动
[root@XXX 210.65.10.179]# vi /etc/rc.local 
在最后面加入这两行:
ulimit -SHn 65535
/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf
二、安装mysql
编译安装mysql需要cmake,先安装cmake:
[root@XXX soft]# wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz
[root@XXX soft]# tar zxvf cmake-2.8.9.tar.gz 
[root@XXX soft]# cd cmake-2.8.9
[root@XXX cmake-2.8.9]# ./configure 
[root@XXX cmake-2.8.9]# make;make install
安装mysql需要的库:
[root@XXX soft]# yum install ncurses ncurses-devel
下载安装mysql:
[root@XXX soft]# wget http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz/from/http://cdn.mysql.com/
[root@XXX soft]# tar zxvf  mysql-5.5.28.tar.gz 
[root@chttl-91f8bbd5f6d418cd mysql-5.5.28]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DINSTALL_SBINDIR=sbin -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
[root@XXX mysql-5.5.28]# make;make install
mysql安装完成,下面进行配置:
[root@XXX webserver]# chown -R mysql:mysql  mysql/
[root@XXX mysql]# ./scripts/mysql_install_db --user=mysql
support-files下面有几个文件,要根据自己的机子内存选择,我的4G内存选择了huge,选择其他启动报错。
[root@XXX mysql]# cp support-files/my-huge.cnf /etc/my.cnf
测试启动:
[root@XXX mysql]# ./bin/mysqld_safe --user=mysql &
配置mysql服务及开机启动:
[root@XXX mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@XXX mysql]# chmod 700 /etc/init.d/mysql 
[root@XXX mysql]# chkconfig --add mysql
[root@XXX mysql]# chkconfig --level 345 mysql on
配置开机启动完成。
[root@XXX mysql]# service mysql start
Starting MySQL[  確定  ]
[root@XXX mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2

Server version: 5.5.28-log Source distribution


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql> quit
Bye
设置mysql的root密码:
[root@XXX mysql]# ./bin/mysqladmin -u root -p password
三、安装php
安装php需要的库:
[root@XXX soft]# yum install libxml2 libxml2-devel curl curl-devel  glibc glibc-devel glib2 glib2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel openldap openldap-devel  libmcrypt libmcrypt-devel
[root@XXX soft]# wget http://cn2.php.net/get/php-5.3.18.tar.gz/from/this/mirror
[root@XXX soft]# tar zxvf php-5.3.18.tar.gz 
[root@XXX soft]# cd php-5.3.18
[root@XXX php-5.3.18]# ./configure  --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --enable-fpm  --with-fpm-user=php  --with-fpm-group=www  --with-mysql=mysqlnd  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-shared  --enable-static  --enable-tarck-var --with-freetype --with-gd   --with-jpeg --with-curl  --with-mcrypt --with-openssl --with-mhash --with-png  --with-xml --with-xmlrpc --with-zlib 
[root@XXX php-5.3.18]#  make;make install 
配置php

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

[root@XXX etc]# cp /root/soft/php-5.3.18/php.ini-production /usr/local/webserver/php/etc/php.ini

[root@XXX etc]# vi  vi /usr/local/webserver/php/etc/php-fpm.conf
去掉以下四行的注释,并自己修改值:
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
启动php
[root@XXX etc]# ../sbin/php-fpm 
配置nginx支持php
[root@XXX nginx]# vi conf/nginx.conf
修改server如下
        location ~ .*\.php$ {
            #root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
       }
重启nginx测试,成功。
配置php开机启动
[root@XXX 210.65.10.179]# vi /etc/rc.local 
在最后面加入这行:
/usr/local/webserver/php/sbin/php-fpm 
四、编译php过程中遇到的问题:
[root@XXX php-5.3.18]#  make ZEND_EXTRA_LIBS='-liconv'
出现错误如下:
/usr/bin/ld: cannot find -liconv
collect2: ld returned 1 exit status
make: *** [sapi/fpm/php-fpm] Error 1
我以为又是liconv没装上,从libmcrypt安装包里安装 libltdl/
[root@XXX libmcrypt-2.5.8]# cd libltdl/
[root@XXX libltdl]# ./configure --enable-ltdl-install
[root@XXX libltdl]# make;make install
再次编译php还是出错。这次索性直接去掉“ ZEND_EXTRA_LIBS='-liconv' ”   直接make  
[root@XXX php-5.3.18]#  make 

Build complete.
Don't forget to run 'make test'.
竟然成功。之前也有遇到make 总是出错 错误提示也是一样 解决办法就是 make ZEND_EXTRA_LIBS='-liconv' 然而这次反而是因为这个出错。
原创粉丝点击