centos6.4下编译安装LNMP环境
2014-03-12 12:11
579 查看
自PHP-5.3.3起,PHP-FPM加入到了PHP核心,编译时加上--enable-fpm即可提供支持。 PHP-FPM以守护进程在后台运行,Nginx响应请求后,自行处理静态请求,PHP请求则经过fastcgi_pass交由PHP-FPM处理,处理完毕后返回。 Nginx和PHP-FPM的组合,是一种稳定、高效的PHP运行方式,效率要比传统的Apache和mod_php高出不少。
//系统说明
1.centos6.4 IP:10.10.54.157
2.软件版本:nginx1.4.5+mysql5.5+php5.4
//编译安装nginx1.4.5
//编译安装mysql5.5
//编译安装php5.4
//配置nginx支持php
//支持ssl加密传输
//系统说明
1.centos6.4 IP:10.10.54.157
2.软件版本:nginx1.4.5+mysql5.5+php5.4
//编译安装nginx1.4.5
1.下载nginx1.4.5 shell> wget 2.解压nginx.1.4.5 shell> tar xvf nginx-1.4.5.tar.gz 3.编译安装 shell> yum -y install zlib-devel pcre-devel openssl-devel #nginx依赖包 shell> ./configure --prefix=/usr/local/nginx --with-pcre --with-http_stub_status_module --user=apache --group=apache --with-http_ssl_module --with-http_gzip_static_module shell> make && make install 4.启动nginx shell> /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 5.打开浏览器测试是否可以访问
//编译安装mysql5.5
1.编译安装 shell> groupadd mysql && useradd -g mysql mysql -s /sbin/nologin shell> mkdir -p /data/mysql shell> cd /home/softs/mysql-5.5.30 shell> 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_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=yes shell> make && make install #配置 shell> cp -f /home/softs/mysql-5.5.30/support-files/my-large.cnf /etc/my.cnf shell> cp -f /home/softs/mysql-5.5.30/support-files/mysql.server /etc/init.d/mysqld shell> chmod 755 /etc/init.d/mysqld shell> vim /etc/my.cnf --------------------------- [mysqld datadir=/data/mysql socket=/usr/local/mysql/tmp/mysql.sock --------------------------- shell> chown mysql.mysql /usr/local/mysql -R #初始化数据库 shell> /usr/local/mysql/scripts/mysql_install_db --user=root --datadir=/data/mysql --basedir=/usr/local/mysql shell> chown mysql.mysql /data/mysql -R shell> /etc/init.d/mysqld restart #添加环境变量 shell> echo "export PATH=${PATH}:/usr/local/mysql/bin" >> /etc/profile
//编译安装php5.4
1.编译前说明 #yum安装运行环境 shell> yum –y install libxml2-devel curl-devel libpng-devel openldap-devel #安装PHP前需要编译安装这两个源码包:libmcrypt mhash #nginx使用fpm的方式条用php,php5.4以后版本中已经支持php-fpm,所以只需要在php编译参数里指定--enable-fpm即可 2.首先安装libmcrypt-2.5.8 wget http://pkgs.fedoraproject.org/repo/pkgs/libmcrypt/libmcrypt-2.5.7.tar.gz/b1be163143f8e8ed0474beeb642b3bad/libmcrypt-2.5.7.tar.gz tar xvf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 ./configure make && make install 3.安装mhash-0.9.9.9 wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2/download tar -jxvf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure make && make install 4.建立软连接到/usr/lib ln -s /usr/local/lib/libmcrypt* /usr/lib ln -s /usr/local/lib/libmhash.* /usr/lib ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config 5.安装php5.4 tar xvf php-5.4.25.tar.gz cd 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-mysql-sock=/usr/local/mysql/tmp/mysql.sock --with-zlib --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm --enable-fastcgi --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap 【error1】 configure: error: Cannot find ldap libraries in /usr/lib. 【solution1】 shell> ln -s /usr/lib64/libldap* /usr/lib/ shell> ldconfig 【error2】 Generating phar.php /home/softs/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 【solution2】 shell> ln -s /usr/local/mysql/lib/libmysqlclient* /usr/lib/ shell> ldconfig shell> make && make install
//配置nginx支持php
1.首先为php创建配置文件: cp php.ini-production /usr/local/php/php.ini mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ln -s /usr/local/php/bin/php /usr/bin/ 2.配置php-fpm.conf vi /usr/local/php/etc/php-fpm.conf -------------------------------- listen = /var/run/php-fpm.sock # 使用unix socket -------------------------------- #启动php-fpm /usr/local/php/sbin/php-fpm shell> ps aux | grep php-fpm #查看php-fpm是否成功 root 3412 0.0 0.0 103236 892 pts/3 S+ 13:56 0:00 grep php-fpm root 29811 0.0 0.5 281608 5280 ? Ss Mar12 0:05 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody 29812 0.0 1.5 290576 15832 ? S Mar12 0:00 php-fpm: pool www nobody 29813 0.0 1.8 293496 19064 ? S Mar12 0:01 php-fpm: pool www nobody 30839 0.0 1.1 286492 11300 ? S Mar12 0:00 php-fpm: pool www 3.配置nginx,添加支持php vi /usr/local/nginx/conf/nginx.conf ------------------------------------------------------------- http { server { listen 80; server_name localhost; charset uft-8; access_log logs/host.access.log; location / { #默认网站根目录 root /var/www/bbs; # 添加index.php的首页文件 index index.php index.html index.htm; } #添加下面的内容,注意$document_root在默认配置文件中没有 location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcg i_params; include fastcgi.conf; } } } ------------------------------------------------------------ #修改完之后重启nginx
//支持ssl加密传输
-------------------------------------------------------------- user apache apache; worker_processes 2; error_log logs/error_nginx.log; pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access_nginx.log main; sendfile on; tcp_nopush on; keepalive_timeout 65; gzip on; #虚拟主机配置文件 # include virtual/www.zijian.com.conf; server { #https加密协议默认端口 listen 443; server_name bbs.zijian.com; charset uft-8; access_log logs/bbs.access.log main; #网站根目录 root /var/www/bbs; index index.php index.html; location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; include fastcgi.conf; } #配置ssl,证书用openssl工具生成,下面的路径是证书的存放目录,证书需要用系统自带的openssl工具生成 #访问这个server时候,用https://xxx.com格式 ssl on; ssl_certificate /usr/local/nginx/conf/ssl/client.pem; ssl_certificate_key /usr/local/nginx/conf/ssl/client.key; } } -------------------------------------------------------------------
相关文章推荐
- CentOS 6.5 生产环境编译安装LNMP
- CentOS 6.5 LNMP环境搭建 编译安装PHP
- CentOS 6.4 linux下编译安装 LNMP环境
- centos 7.2 编译安装 lnmp环境(究极篇)
- 阿里云centos6.5实践编译安装LNMP架构web环境
- LNMP环境编译安装备忘-centos6.2
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
- 基于CentOS6.5环境之下的LNMP之编译安装PHP5.5.30
- CentOS 6.5 生产环境编译安装LNMP
- Centos 编译安装LNMP环境(Nginx+MySQL+PHP)教程
- 基于CentOS 6.8平台最新源代码包编译安装LNMP环境搭建(Nginx+MySQL+PHP)
- CentOS7一键编译安装LNMP环境
- CentOS编译安装LNMP环境
- CentOS 7源码编译安装PHP5.6和Nginx1.7.9及MySQL(搭建LNMP环境)
- 生产环境Centos LNMP编译安装nginx-1.6 MySQL-5.6 php-5.5
- CentOS 6.6 环境下 编译安装LNMP
- CentOS编译安装LNMP环境
- centos7 编译安装新版LNMP环境
- 自己亲身体验的CentOS编译安装LNMP环境
- CentOS 6.4系统下编译安装LNMP和配置PHP环境具体步骤