fdgg888 发表于 2015-9-6 08:37:45

LNMP 环境搭建

    LNMP是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。

简介
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

环境:centos6.532位
版本:nginx-1.9.4.tar.gz
版本:mysql-5.5.15-linux2.6-i686.tar.gz
版本:php-5.5.8.tar.bz2

安装nginx

版本:nginx-1.9.4.tar.gz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# yum --disablerepo=\* --enablerepo=c6-media
groupinstall "Development tools" -y
# tar -zxvf nginx-1.9.4.tar.gz -C /usr/local/src/
# cd /usr/local/src/nginx-1.9.4/
# yum --disablerepo=\* --enablerepo=c6-media
install openssl-devel pcre-devel -y

# ./configure \
> --prefix=/usr/local/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/var/run/nginx/nginx.pid \
> --lock-path=/var/lock/nginx.lock \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_flv_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --http-client-body-temp-path=/var/tmp/nginx/client/ \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --with-pcre

# groupadd nginx
# useradd -r -g nginx nginx
# make && make install
# vim /etc/profile






1
2
3
4
5
6
# . /etc/profile
# mkdir -pv /var/tmp/nginx/client/
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is success
# nginx





****控制脚本没有写,有时间再补充吧



安装MySQL
版本:mysql-5.5.15-linux2.6-i686.tar.gz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# rpm -qa |grep mysql
mysql-libs-5.1.71-1.el6.i686
# rpm -e mysql-libs --nodeps
# groupadd mysql
# useradd -r -g mysql mysql
# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/
# ln -s mysql-5.5.15-linux2.6-i686/ mysql
# chown -R mysql:mysql .
# yum --disablerepo=\* --enablerepo=c6-media install libaio -y
# ./scripts/mysql_install_db --user=mysql***初始化
# chown -R root .
# chown -R mysql data/
# cp support-files/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/init.d/mysqld
# service mysqld start
# chkconfig --add mysqld
# vim /etc/profile






1
2
3
# . /etc/profile       ***重新读取一下
# mysqladmin -u root -p password '123'
# vim /etc/ld.so.conf.d/mysql.conf   ***扩展名.conf结尾,






1
2
3
4
5
6
7
8
***加入新的库的路径
# ldconfig                     ***刷新
# ldconfig -pv |grep mysql
    libtcmalloc_minimal.so.0 (libc6) => /usr/local/mysql/lib/
    libtcmalloc_minimal.so.0
    libmysqlclient.so.18 (libc6) => /usr/local/mysql/lib/libmysqlclient.so.18
    libmysqlclient.so (libc6) => /usr/local/mysql/lib/libmysqlclient.
# echo "MANPATH /usr/local/mysql/man" >> /etc/man.config





安装PHP
版本:php-5.5.8.tar.bz2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/php-5.5.8/
# yum --disablerepo=\* --enablerepo=c6-media install
   libxml2-devellibjpeg-turbo-devellibpng-develfreetype-devel -y

# ./configure    \
> --prefix=/usr/local/php \
> --sysconfdir=/etc/fpm \
> --enable-fpm   \               **形成独立的服务器
> --enable-sockets\
> --with-mysql=/usr/local/mysql \
> --with-pdo-mysql=/usr/local/mysql \
> --with-mysqli=/usr/local/mysql/bin/mysql_config\
> --enable-mbstring\
> --enable-xml\
> --with-png-dir \
> --with-gd   \
> --with-jpeg-dir\
> --with-zlib\
> --with-freetype-dir \
> --with-config-file-path=/etc/php \
> --with-config-file-scan-dir=/etc/php5.d




由于编译时间过长,安装screen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# yum --disablerepo=\* --enablerepo=c6-media install screen -y

# make && make install
# cd /etc/fpm
# cp php-fpm.conf.default php-fpm.conf   **配置文件
# cd /usr/local/src/php-5.5.8/
# mkdir /etc/php /etc/php5.d
# cp php.ini-production /etc/php/php.ini**初始化文件

# pwd
/usr/local/src/php-5.5.8/sapi/fpm
# cp init.d.php-fpm /etc/init.d/php-fpm**控制脚本
# chmod a+x /etc/init.d/php-fpm

# service php-fpm start
Starting php-fpmdone
# netstat -tupln |less






1
2
3
4
5
# chkconfig --add php-fpm
# chkconfig --list |grep php-fpm
php-fpm         0:off   1:off   2:on    3:on    4:on    5:on    6:off

# vim /etc/profile






1
# . /etc/profile




nginx与PHP 的结合

1
# vim /etc/nginx/nginx.conf






1
2
3
4
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# nginx -s reload




测试PHP,nginx,MySQL的结合


1
2
# cd /usr/local/nginx/html/
# vim index.php






如果访问不到,可能是防火墙没有关闭

连接数据库测试

1
# vim index1.php






至此,LNMP环境已经搭建完成。


xcache的安装


1
2
3
4
5
6
7
8
9
10
11
12
13
# tar -zxvf xcache-3.1.0.tar.gz -C /usr/local/src/
# cd /usr/local/src/xcache-3.1.0/
# phpize      **把xcache变成PHP的功能扩展
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

# ./configure --enable-xcache
    --with-php-config=/usr/local/php/bin/php-config
         **变成PHP模块,指明PHP-config位置

# make && make install




安装好之后,在下面的目录下,已经生成了动态库


1
2
3
4
# cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
# cp xcache.so /etc/php5.d/
# cd /usr/local/src/xcache-3.1.0/
# cp xcache.ini /etc/php5.d/




测试,重启PHP

1
# service php-fpm restart





****如果配置时没有指明PHP5.d目录,追加到php.ini

catxcache.ini >> /usr/local/php/lib/php.ini


客户访问的对象——nginx服务器实现缓存

1
2
# vim /etc/nginx/nginx.conf
# mkdir -pv /data/nginx/cache






# nginx -s reload
重新访问一下,看到已经有收据被缓存。

1
2
3
4
5
6
# cd /data/nginx/cache/

# ll
total 4
drwx------. 3 nginx nginx 4096 Sep5 18:04 3
#



页: [1]
查看完整版本: LNMP 环境搭建