上一节我们了解了用yum搭建lamp网站架构,特别简单,今天我们来学习现在比较火的另一种网站架构lnmp。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
2. 解压切换目录配置文件。
3. 创建用户, 编译与安装
4. 启动服务测试
5. 做软连接,检查端口
######################主要目录解释###############################
主要配置目录详解:
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
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
######################################################################################
出现报错我们不要怕,要找到解决方法就好了
安装出现checking for termcap functions library... configure: error: No curses/termcap library found
执行以下安装,然后在重新配置即可。
yum install ncurses-devel -y
6.编译与安装make && make install(注意此步骤需要很长的时间)
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 初始化数据库
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 执行 测试
启动数据库服务
快速安装方法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,这里我为了快速安装所以操作步骤就没截图了###############
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网站架构就搭建好了。
大家就按照我上面步骤做,有疑问QQ1807074965博主的,为什么后面我那样做呢?因为我考虑到篇幅太大了,对学习不太好,所以就简单点儿