CentOS 下 LNMP 环境搭建

今天写一篇关于CentOS 下配置 LNMP 环境的文章。首先我们了解一下什么事LNMP,L表示Linux系统,也就是机器的操作系统;N表示web服务器的一种Nginx;  M这个就简单了表示MySQL,这个做PHP的人应该都知道; 剩下的P 这个毫无疑问就是PHP。名词解释这个其实能看到这篇文章的人本都不用解释,但是为了一些想要了解的人,我还是写了。接着要做的就是LNMP环境的搭建了。不多说直接开始。

首先,我们拿到一台装有CentOS系统的机器,首先需要查看一下机器的配置。

1. 查看硬盘信息   `df -h` 通过这个命令我们可以获取到当前机器已挂载的硬盘信息。

2. 查看系统版本 `uname -a` ,`cat /etc/issue` 这两个命令就可以当前使用系统的版本。

3. 查看当前机器的CPU信息  `cat /proc/cpuinfo` 通过这个命令查看CPU信息。

4. 查看当前机器内存大小  `free -g` 通过这个命令查看内存大小。

接着,更新安装一些必要的扩展依赖。查看完上面的信息我们知道了现在所使用的机器的一些信息之后我们就可以开始安装我们的服务器环境了。

1. 安装必要的扩展依赖

yum安装扩展
wget patch make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel gmp-devel pspell-devel unzip libcap autoconf

2. 安装一些需要手动安装的扩展及依赖

pcre-8.35.tar.gz            (安装nginx之前)
libiconv-1.14.tar.gz        (1)
libmcrypt-2.5.8.tar.gz        (2)
mhash-0.9.9.9.tar.gz        (3)
mcrypt-2.6.8.tar.gz            (4)

后面括号中已经标明了这些依赖文件的安装顺序。

在安装前三个的时候很简单,什么都不用考虑,就是 ./configure  ,  make   ,  make install  这三条命令。

在这三条安装完之后需要将新安装的libmcrypt 写到环境变量中:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

接着,我们开始安装运行环境。上面我们已经把所有的前期准备工作都做完了。

1. MySQL安装

解压已经下载好的MySQL安装包并进入解压后的目录。

添加MySQL执行用户 mysql

grouadd mysql

useradd -s /bin/false -g mysql mysql

编译安装MySQL

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/etc -DINSTALL_SHAREDIR=share

make  && make install

以上命令执行完之后其实我们的MySQL已经安装成功了,但是现在还不能使用,我们需要配置并且初始化之后才能使用。

配置MySQL

创建软链

ln -s /usr/local/mysql/bin/* /usr/bin/

删除默认配置文件

rm -f /etc/my/cnf

创建新的配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

更改配置项

baesdir=/usr/local/mysql

datadir=/usr/local/mysql/data

初始化数据

/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql

创建MySQL启动配置

cp /usr/local/mysql/support-files/mysql.servcer /etc/init.d/mysql

chmod +x /etc/init.d/mysql

启动mysql服务

service mysql start

至此MySQL就全部安装完成,可以使用了。

2.安装PHP

添加新用户 www

groupadd www

useradd -s /bin/false -g www www

编译安装

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-magic-quotes –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-mbstring –with-mcrypt –enable-ftp –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –disable-fileinfo

make ZEND_EXTRA_LIBS=’-liconv’
make install

PHP配置

创建php.ini

cp /opt/php-5.4.40/php.ini-development /usr/local/php/etc/php.ini

注“/opt/php-5.4.40”为php安装源码包目录

更改配置项

将php.ini 中的 ;date.timezone= 改为 date.timezone=PRC

创建php启动项

cp /opt/php-5.4.40/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

至此php就全部安装完成了。

3. Nginx安装

安装所需依赖 pcre ,这个安装很简单进入安装文件解压后的目录之后 ‘./configure’   ,  ‘make’  ,  ‘make install’ 三命令搞定。

安装Nginx

./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-pcre=/opt/pcre-8.35

make && make install

至此所有的LNMP已经安装完成了。

 

附:

./buildconf –force   //清除 configure

make clean    //清楚make

发表评论

电子邮件地址不会被公开。 必填项已用*标注