基于centos6.7的lnmp环境搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于centos6.7的lnmp环境搭建相关的知识,希望对你有一定的参考价值。

准备工作:

1:软件获取

  可以通过搜狐镜像、网易镜像、阿里云镜像获取最新的centos、phpnginxmysql。本文采用centos6.7 64位minimal版、php7、nginx1.8.0版搭建lnmp环境,虚拟机软件是Oracle VM VirtualBox5.0.12。关于虚拟机的安装、最小化安装系统以及开启64位支持本文不再赘述,本文设置软件下载目录/usr/local/src,软件安装目录/app/local/下,安装顺序是nginx→mysql→php,

 搜狐镜像:http://mirrors.sohu.com/

 网易镜像:http://mirrors.163.com/

 阿里云镜像:http://mirrors.aliyun.com/

   wget http://mirrors.sohu.com/php/php-5.6.12.tar.gz

   wget http://mirrors.sohu.com/nginx/nginx-1.8.0.tar.gz

   wget  http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz

   wget  http://blog.zyan.cc/soft/linux/nginx_php/imagick/ImageMagick.tar.gz

  wget   http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.47.tar.gz

   wget  http://blog.zyan.cc/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz

   wget  http://blog.zyan.cc/soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gz

   wget  http://blog.zyan.cc/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz

   wget  http://blog.zyan.cc/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz

2:登录后在shell界面可以通过dhclient获取ip地址或者单独设置固定的IP地址,用ifconfig -a查看ip地址,

通过yum -y install wget lua-devel libxslt-devel libmcrypt-devel libmcrypt pcre pcre-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers获取编译库文件

3:编译安装nginx

 首先创建一些目录

      mkdir -p /app/local/nginx

      mkdir /app/local/php

      mkdir /app/local/soft

创建www 用户组

groupadd -g 500 www

useradd -u 500 -g 500 -G 500 -s /sbin/nologin www

 

解压 nginx

tar zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure  --prefix=/app/local/nginx  --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module

make

make install

然后cd切换到/app/local/nginx

sbin/nginx

在浏览器下输入ip地址查看nginx是否安装成功

如果没有的话 检测一下selinux和防火墙是否配置

vi /etc/sysconfig/iptables 

在22下一行加入80 3306端口配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT

:wq! #保存退出

service iptables restart #最后重启防火墙使配置生效

关闭selinux

vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

#SELINUX=enforcing

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

#SELINUXTYPE=targeted

SELINUX=disabled

:wq!

setenforce 0 #使配置立即生效

4:安装MySQL,由于是5.5版本,不能直接安装,需要先安装cmake工具,要是5.1版本可以忽略这一步。

安装cmake

cd /usr/local/src

tar zxvf cmake-3.0.2.tar.gz

cd cmake-3.0.2

./configure

make

make install

安装mysql先设定一些安装目录

mkdir  -p /app/local/mysql

mkdir -p /app/local/data

创建mysql用户组

groupadd mysql 

useradd -g mysql mysql -s /bin/false

设置MySQL数据库存放目录权限

chown -R mysql:mysql /app/local/data

cd /usr/local/src 

tar zxvf mysql-5.5.47.tar.gz 

cd mysql-5.5.47.tar.gz 

cmake -DCMAKE_INSTALL_PREFIX=/app/local/mysql -DMYSQL_DATADIR=/app/local/data -DSYSCONFDIR=/etc

make 

make install 

rm -rf /etc/my.cnf 

cp /app/local/mysql/support-files/my-innodb-heavy-4G.cnf /app/local/mysql/my.cnf

ln -s /app/local/mysql/my.cnf /etc/my.cnf 

cd /app/local/mysql

./scripts/mysql_install_db --user=mysql --basedir=/app/local/mysql --datadir=/app/local/data #生成mysql系统数据库

安装php扩展库文件

cd /usr/local/src

tar zxvf  libiconv-1.13.1.tar.gz

cd libiconv-1.13.1

mkdir /app/local/soft/libiconv

./configure —prefix=/app/local/soft/libiconv

make

make install

cd ../

 tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9.

./configure

make

make install

cd ../

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make

make install

cd ../

 

tar zxvf php-5.6.12.tar.gz

cd php-5.6.12

./configure  --prefix=/app/local/php  --with-config-file-path=/app/local/php/etc --with-pdo-sqlite --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-xmlreader --enable-xmlwriter --enable-soap --enable-calendar --with-curl --with-mcrypt --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-mysql-sock --enable-mysqlnd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --enable-ftp --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-fileinfo

出现错误后将enable-opcache=no

make

出现了错误make: *** [ext/zip/lib/zip_add.lo] 错误 1

解决办法:

vi /etc/ld.so.conf.d/local.conf //创建local.conf

/usr/local/lib //添加输入

ldconfig  //执行命令

make clean 后再make 一下

如果不行 看看源码安装zlib跟libzip,再分别指定以下两个参数的路径
--with-zlib-dir=DIR#指定为/usr就行了
--with-libzip=DIR#可以先不加这个

 

cd ../

cd /app/local/php

cd etc

cp php-fpm.conf.default  php-fpm.conf

 

vi php-fpm.conf

查找/static将pm=dynamic 改成pm =static

保存退出

cd php

sbin/php-fpm

通过netstat -ntpl查看端口是否打开

ps -ef查看进程

 

切换到nginx目录下

cd conf

cp nginx.conf  nginx.confbak

vi nginx.conf

修改

user www www;

worker_processes 4;

error_log logs/error.log

 

events{

 

    use poll;

   worker_connections 51024;

}

 

 

 

location ~ \.php${

 

    root html;

   fastcgi_pass 127.0.0.1:9000;

   fastcgi_index index.php;

   #fastcgi_param SCRIPT_FILENAME   $fastcgi_script_name;

  include fastcgi.conf;

 

}

 

:wq

然后使用netstat -nptl查询端口

 

 

然后切换到html目录

cd ../

cd html

vi index.php

<?php

phpinfo();

 

?>

保存退出后在浏览器输入ip地址/index.php后检测是否成功

若是没有成功可以在nginx目录下的logs查看日志检测

 

以上是关于基于centos6.7的lnmp环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

LNMP环境搭建

CentOS6/7一键安装LNMP(基于yum)

zabbix监控搭建步骤

基于CentOS 6.8平台最新源代码包编译安装LNMP环境搭建(Nginx+MySQL+PHP)

001.mysql安装(lnmp)

LNMP环境搭建(基于zabbix监控软件)