Lnmp是linux,nginx,mysql,php.的简称缩写。这种架构跟lamp一样,只是前端web不同而已。具体他们的介绍我就不说了,开始我们今天的实验。

实验环境:

一台服务器,操作系统centos6.6,使用软件nginx-1.6.3,php-5.3.27,mysql-5.1.72.

实验步骤:

1.     关闭防火墙和selinux,上传软件nginx-1.6.3,安装依赖包

yuminstall pcre pcre-devel –y

yuminstall openssl openssl-devel –y

wKioL1bhXnDyTDBKAADwBRIBGXE189.png

wKiom1bhXlvQmif2AAAsVNdPTVE637.png

 

 

2.     解压切换目录配置文件。

wKiom1bhYjviPczkAABSHk_a0tU711.png

3.     创建用户,     编译与安装

wKiom1bhYpPynTibAAAz51bu_7U573.png

4.     启动服务测试

wKioL1bhY_bynVgHAABOesXsxkI435.png

5.     做软连接,检查端口

wKiom1bhZAOivjkRAABMViTPACI430.png

到此我们的nginx的Web服务搭建好了

######################主要目录解释###############################

 

主要配置目录详解:

 sbin 启动脚本(命令)

 logs 日志目录

 html 站点目录(默认) 

 conf 配置目录

#####################以上一定要记住哦##########################

数据库的安装(这里我给大家演示下源代码安装的步骤,实际生产中就用免安装就好了)

1创建用户 useradd -s /sbin/nologin mysql -M

2更改目录权限 chmod 1777 /tmp

3解压代码包 tar xzvf mysql-5.1.72.tar.gz 

4.切换到目录里cd mysql-5.1.72

wKiom1bhZ47S4c_vAABk6EDl_eE936.png

5.编译配置参数:

./configure \

--prefix=/application/mysql5.1.72 \

--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \

--localstatedir=/application/mysql5.1.72/data \

--enable-assembler \

--enable-thread-safe-client \

--with-mysqld-user=mysql \

--with-big-tables \

--without-debug \

--with-pthread \

--enable-assembler \

--with-extra-charsets=complex \

--with-readline \

--with-ssl \

--with-embedded-server \

--enable-local-infile \

--with-plugins=partition,innobase \

--with-mysqld-ldflags=-all-static \

--with-client-ldflags=-all-static 

######################################################################################

wKioL1bhaN7QynWWAAA7-BGbLeo280.png

出现报错我们不要怕,要找到解决方法就好了

安装出现checking for termcap functions library... configure: error: No curses/termcap library found

执行以下安装,然后在重新配置即可。

yum install ncurses-devel -y

wKiom1bhaM7xNB8zAAAz1n__Ot0917.png

wKioL1bhabrjT9QJAABfGGw9PKw090.png

6.编译与安装make && make install(注意此步骤需要很长的时间)

wKiom1bhadeQ6mNLAAA_Ja1nBDw852.png

7.做连接 ln -s /application/mysql5.1.72/ /application/mysql

9.mkdir /application/mysql/data -p  建立mysql数据库文件目录

10.chown -R mysql.mysql /application/mysql授权mysql访问mysql安装目录

11./application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql 初始化数据库

wKioL1bhbpPjeMwGAACTAiFQa-Q104.png

12.cp /root/mysql-5.1.72/support-files/my-small.cnf /etc/my.cnf  复制模版到数据文件里

13. cp support-files/mysql.server /etc/init.d/mysqld 添加到系统方式

14.  给与权限 测试 chmod 755 /etc/init.d/mysqld 

出现下面情况

           [root@Apache support-files]# mysql

           -bash: mysql: command not found

是因为mysql 这个命令对应的路径不在PATH下面。可以用全路径启动。

可以以下方法

       vim /etc/profile 

在里面插入以下内容

unset i

unset -f pathmunge

PATH="/application/mysql/bin/:$PATH"

然后用source /etc/profile 执行 测试

启动数据库服务

登录数据库

 

wKioL1bheCigx2IKAACyPtgSC-o874.png

数据库到此安装完成,下面我们开始安装Php

快速安装方法PHP方法:

一.安装epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

二.安装php依赖包

yum install zlib-devel libxml2-devel libjpeg-devel libiconv-devel -y

yum install freetype-devel libpng-devel gd-devel curl-devel libxslt-devel -y

yum install libmcrypt-devel -y

 

 libjpeg-devel====>libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64名字变换了

curl-devel   ====>libcurl-devel-7.19.7-40.el6_6.4.x86_64名字变换了

###安装libiconv###

 tar xf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

make && make install

###################

###安装libmcrypt####

tar xf libmcrypt-2.5.7.tar.gz 

cd libmcrypt-2.5.7  

  ./configure

make && make install

sleep 2

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make && make install

 

######注释我们把上面的安装完成之后开始安装我们的php,这里我为了快速安装所以操作步骤就没截图了###############

 

安装php

tar xf php-5.3.27.tar.gz

cd ./php-5.3.27

配置参数

./configure \

--prefix=/application/php5.3.27 \

--with-mysql=/application/mysql \

--with-iconv-dir=/usr/local/libiconv \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-safe-mode \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-curlwrappers \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--with-mcrypt \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--enable-short-tags \

--enable-zend-multibyte \

--enable-static \

--with-xsl \

--with-fpm-user=nginx \

--with-fpm-group=nginx \

--enable-ftp

接下来

ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/

touch ext/phar/phar.phar

在执行

make 

make install

 

ln -s /application/php5.3.27/ /application/php

cp php.ini-production /application/php/lib/php.ini

 

然后将配置文件php-fpm.conf 上传到/application/php/etc/ 下面。

启动服务/application/php/sbin/php-fpm 

出现以下错误failed to open error_log (/app/logs/php-fpm.log): No such file or directory (2)

创建mkdir /app/logs/ -p

创建touch /app/logs/php-fpn.log

在重启服务/application/php/sbin/php-fpm 

没有提示就ok了。到此php安装成功

到这里我们的lnmp网站架构就搭建好了。