CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)

  • Post category:Linux

CentOS6.6是一款非常常用的Linux操作系统,它非常适合作为服务器操作系统。本文将会对如何在CentOS6.6上编译安装lnmp进行详细介绍,并提供两个实际的示例。本文将分为以下几个部分:

  1. 安装必备的软件包
  2. 安装Nginx
  3. 安装MySQL
  4. 安装PHP
  5. 配置Nginx
  6. 配置MySQL和PHP
  7. 测试lnmp环境

1. 安装必备的软件包

在开始进行lnmp的安装之前,我们需要先安装一些必备的软件包。这些软件包包括make、gcc、g++、pcre-devel、openssl-devel、libmcrypt-devel、mhash-devel、mariadb-devel和libxml2-devel。可以通过以下命令进行安装:

$ yum install -y make gcc gcc-c++ pcre-devel openssl-devel libmcrypt-devel mhash-devel mariadb-devel libxml2-devel

2. 安装Nginx

在安装Nginx之前,我们需要先下载最新版本的Nginx源码包。可以到Nginx官方网站(https://nginx.org/en/download.html)下载最新版本的Nginx源码包。下载完成后,解压并进行编译安装:

$ tar zxvf nginx-1.6.2.tar.gz
$ cd nginx-1.6.2
$ ./configure --prefix=/usr/local/nginx
$ make && make install

安装完成后,可以通过以下命令测试Nginx是否可以正常启动:

$ /usr/local/nginx/sbin/nginx

3. 安装MySQL

在安装MySQL之前,我们需要先下载最新版本的MySQL源码包。可以到MySQL官方网站(https://dev.mysql.com/downloads/mysql/)下载最新版本的MySQL源码包。下载完成后,解压并进行编译安装:

$ tar zxvf mysql-5.6.21.tar.gz
$ cd mysql-5.6.21
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc
$ make && make install

安装完成后,可以通过以下命令进行MySQL的初始化:

$ cd /usr/local/mysql
$ scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

4. 安装PHP

在安装PHP之前,我们需要先下载最新版本的PHP源码包。可以到PHP官方网站(https://www.php.net/downloads.php)下载最新版本的PHP源码包。下载完成后,解压并进行编译安装:

$ tar zxvf php-5.6.3.tar.gz
$ cd php-5.6.3
$ ./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-pdo-mysql=/usr/local/mysql --with-openssl --with-mcrypt --with-mhash --with-xmlrpc --with-libxml-dir --with-iconv --enable-fpm --enable-opcache --enable-mbstring --enable-exif --enable-zip --enable-bcmath --enable-pcntl
$ make && make install

安装完成后,可以通过以下命令测试PHP是否可以正常运行:

$ /usr/local/php/bin/php -v

5. 配置Nginx

在安装Nginx之后,我们需要进行一些基本的Nginx配置。可以通过以下命令打开Nginx配置文件进行编辑:

$ vi /usr/local/nginx/conf/nginx.conf

将其中的server块修改为以下内容:

server {
    listen       80;
    server_name  example.com;
    root         /data/www;

    index  index.html index.htm index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   /usr/local/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

修改完成后,可以使用以下命令重启Nginx使配置生效:

$ /usr/local/nginx/sbin/nginx -s reload

6. 配置MySQL和PHP

在安装MySQL和PHP之后,我们需要进行一些基本的配置。可以通过以下命令打开MySQL配置文件进行编辑:

$ vi /usr/local/mysql/my.cnf

将其中的[mysqld]块修改为以下内容:

[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql

然后可以使用以下命令重启MySQL使配置生效:

$ /usr/local/mysql/support-files/mysql.server restart

接下来,可以使用以下命令打开PHP配置文件进行编辑:

$ vi /usr/local/php/etc/php.ini

在文件末尾添加以下内容:

[lnmp]
date.timezone = Asia/Shanghai

然后可以使用以下命令重启PHP-FPM使配置生效:

$ /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

7. 测试lnmp环境

安装完成并进行了一些基本的配置之后,我们需要进行测试以确保lnmp环境可以正常使用。可以将以下PHP代码保存为index.php文件,并上传到/usr/local/nginx/html/目录中:

<?php
phpinfo();
?>

通过浏览器访问http://example.com/index.php,应该可以看到PHP信息页面。如果看到了PHP信息页面,说明lnmp环境已经安装完成并可以正常使用了。

示例一:

Makefile文件

在使用lnmp环境的过程中,有时候需要进行代码的编译和安装。这时候可以使用Makefile文件进行自动编译和安装。下面是一个简单的Makefile文件示例:

CC=gcc
CFLAGS=-Wall -O3
LDFLAGS=-lm

TARGET=myapp
SOURCES=src/main.c src/foo.c
HEADERS=src/foo.h

all: $(TARGET)

$(TARGET): $(SOURCES) $(HEADERS)
        $(CC) $(CFLAGS) $(SOURCES) -o $@ $(LDFLAGS)

clean:
        rm -f $(TARGET)

在Makefile文件中,可以定义编译器、编译选项、链接选项等,并通过all、clean等目标来实现对代码的自动编译和安装。

示例二:

WordPress安装

WordPress是一款非常流行的内容管理系统(CMS),可以使用lnmp环境进行安装和使用。以下是一些WordPress安装示例:

  1. 下载最新版本的WordPress:
$ cd /usr/local/nginx/html
$ wget https://wordpress.org/latest.tar.gz
$ tar zxvf latest.tar.gz
  1. 创建数据库:
$ mysql -uroot -p
mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
  1. 配置wp-config.php文件:
$ mv /usr/local/nginx/html/wordpress/wp-config-sample.php /usr/local/nginx/html/wordpress/wp-config.php
$ vi /usr/local/nginx/html/wordpress/wp-config.php

在wp-config.php文件中,修改以下内容:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpressuser');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
  1. 安装WordPress:

通过浏览器访问http://example.com/wordpress,按照提示进行安装即可。

通过以上两个示例,可以更好的了解lnmp环境的使用和特点。