澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:源码搭建LNMP环境,Dis

搭建Nginx PHP环境

搭建Nginx PHP环境用于Memcached的PHP扩展的测试

LNMP架构的搭建(Linux Nginx MySQL PHP源码安装 ) Discuz论坛的搭建

很多步骤不说明了,请参照本人的centos6.7下编译安装lamp,这次的架构是nginx php-fpm一台服务器,mysql一台服务器

LNMP代表的就是:Linux系统下Nginx MySQL PHP这种网站服务器架构,Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

1. 安装PHP

[root@chunlin PHP]# tar -zxf php-7.1.5.tar.gz
[root@chunlin PHP]# cd php-7.1.5
[root@chunlin php-7.1.5]# mkdir /usr/local/php
[root@chunlin php-7.1.5]# mkdir /usr/local/php/etc
[root@chunlin php-7.1.5]# mkdir /usr/local/php/etc/php.d
[root@chunlin php-7.1.5]# useradd -s /sbin/nologin php_fpm
[root@chunlin php-7.1.5]# yum install -y libxml2.x86_64
[root@chunlin php-7.1.5]# yum install -y libxml2-devel.x86_64
[root@chunlin php-7.1.5]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d  
--enable-fpm --with-fpm-user=php_fpm --with-fpm-group=php_fpm  
--with-mysqli=/usr/bin/mysql_config  
--with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/var/lib/data/mysql/mysql.sock  
--enable-xml --with-libxml-dir=/usr/bin/xml2-config

主机环境 RedHat6.5 64位
实验环境 服务端 ip172.25.29.1  nginx mysql php
安装包  nginx-1.10.1.tar.gz
        mysql-boost-5.7.11.tar.gz
     cmake-2.8.12.2-4.el6.x86_64.rpm
php-5.6.20.tar.bz2
        re2c-0.13.5-1.el6.x86_64.rpm
        libmcrypt-2.5.8-9.el6.x86_64.rpm
        libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
        Discuz_X3.2_SC_UTF8.zip

(1)首先编译安装nginx:

LAMPLinux Apache Mysql Perl/PHP/Python)也是一组常用来搭建动态网站或者服务器的开源软件,虽然nginx和apache都能实现网站服务器的搭建,但是两者还是有不小的差距的,下面我们来简单介绍一下。

2. PHP配置

  • 准备配置文件

[root@chunlin php-7.1.5]# cp php.ini-production /usr/local/php/etc/php.ini
[root@chunlin php-7.1.5]# cd /usr/local/php/etc/
[root@chunlin etc]# mv php-fpm.conf.default php-fpm.conf
[root@chunlin etc]# ln -s /usr/local/php/etc/php.ini /etc/php.ini
[root@chunlin etc]# ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf
[root@chunlin ~]# cd /usr/local/php/etc/php-fpm.d/
[root@chunlin php-fpm.d]# mv www.conf.default www.conf

  • 修改配置文件

  • vim php-fpm.conf

    [root@chunlin ~]# cd /usr/local/php/etc/
    [root@chunlin etc]# vim php-fpm.conf
    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = warning
    #其他选项使用文件中给出的默认配置即可

  • vim www.conf

    [root@chunlin php-fpm.d]# cd /usr/local/php/etc/php-fpm.d/
    [root@chunlin php-fpm.d]# vim www.conf
    user = php_fpm
    group = php_fpm
    listen.owner = php_fpm
    listen.group = php_fpm
    listen.mode = 0660
    #其他选项使用文件中给出的默认配置即可

  • vim php.ini

    [root@chunlin ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    #设置时区为上海
    [root@chunlin ~]# vim /etc/php.ini
    date.timezone = Asia/Shanghai
    expose_php = Off
    #出于安全靠虑
    short_open_tag = On
    #支持短标签
    disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,
    proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,
    syslog,readlink,symlink,popepassthru,stream_socket_server,
    fsocket,popen
    #出于安全的考虑禁用某些函数
    opcache.enable=1
    opcache.enable_cli=1
    extension_dir = "/usr/local/php/lib/php/extensions
    /no-debug-non-zts-20160303"
    zend_extension=opcache.so
    #开启opcache缓存
    #其他选项使用文件中给出的默认配置即可

  • 配置php-fpm自启动

[root@chunlin ~]# cd /usr/local/package/LNMP/PHP/php-7.1.5
[root@chunlin php-7.1.5]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@chunlin php-7.1.5]# chmod 755 /etc/init.d/php-fpm
[root@chunlin php-7.1.5]# chkconfig --add php-fpm
[root@chunlin php-7.1.5]# chkconfig php-fpm on

  1. nginx源码安装及配置
      1.安装
    [root@server1 mnt]# yum install gcc -y      #安装gcc
    [root@server1 mnt]# tar zxf nginx-1.10.1.tar.gz  #解压nginx压缩包
    [root@server1 mnt]# ls
    nginx-1.10.1  nginx-1.10.1.tar.gz
    [root@server1 mnt]# cd nginx-1.10.1
    [root@server1 nginx-1.10.1]# vim auto/cc/gcc    #禁止debug调试
     178 # debug
     179#CFLAGS="$CFLAGS -g"
    [root@server1 nginx-1.10.1]# vim src/core/nginx.h  #禁止出现nginx版本号,以保证安全性
     14 #defineNGINX_VER          "nginx/"
    [root@server1 nginx-1.10.1]# ./configure--prefix=/usr/local/lnmp/nginx --with-http_ssl_module--with-http_stub_status_module
    如果出现以下错误

操作命令: yum -y groupinstall "Development Tools" "Server Platform Development"

Apache:进程方式处理用户的请求,每个时刻保持8个空闲的子进程,当用户并发连接请求比较多的时候,相应的子进程也会很多,而每个进程要占用内存空间,所以内存空间占用大,效率低,一般情况下,同一时刻并发连接请求最多不会超过1024个。Apache采用select机制也可以叫轮训机制,效率较低,但是从另一方面来说,这种机制是apache的网站构架很稳定。

3. Nginx编译安装

澳门新浦京娱乐场网站 1

      yum -y install pcre-devel

Nginx:线程方式处理用户的请求,和apache独占内存不同的是nginx是共享内存的,所以只需要开少量的进程,当有用户请求时,再有这些进程开辟一些线程就行了,这些线程是共享这一个进程的内存空间,但是不好的是当进程崩溃之后,所有由进程开辟的线程也都会崩溃,所以较apache稳定性要差得多。Nginx采用epoll机制也可以叫时间通知机制,效率较select机制要高得多。同一时刻并发送连接请求最高可以达到50000个。

1)安装准备
  • 系统:redhat6.5.x86_64
  • 软件:nginx-1.10.3.tar.gz(稳定版)、gcc.x86_64、pcre-devel.x86_64、perl-ExtUtils-Embed.x86_64、zlib-devel.x86_64、openssl-devel.x86_64

[root@chunlin Nginx]# mkdir /opt/nginx
[root@chunlin Nginx]#澳门新浦京娱乐场网站:源码搭建LNMP环境,Discuz论坛的搭建。 tar -zxf nginx-1.10.3.tar.gz
[root@chunlin Nginx]# ls
nginx-1.10.3 nginx-1.10.3.tar.gz
[root@chunlin Nginx]# cd nginx-1.10.3

[root@chunlin nginx-1.10.3]# vim auto/cc/gcc
#debug
#CFLAGS="$CFLAGS -g"

将以上两行注释掉,取消nginx的debug编译模式,编译更快。

[root@chunlin nginx-1.10.3]# vim src/core/nginx.h
#define NGINX_VER "nginx"

上面的那条修改是为了nginx服务器的安全,隐藏了nginx版本,需要将#define NGINX_VER后面的双引号中的字符串改为nginx

[root@server1 nginx-1.10.1]# yum install pcre-devel -y
重新配置
[root@server1 nginx-1.10.1]# ./configure --prefix=/usr/local/lnmp/nginx--with-http_ssl_module --with-http_stub_status_module
如果出现以下错误

      useradd -r nginx  

从上面可以看出Apache和nginx各有各的优点,下面进行LNMP环境的搭建

2)编译安装

[root@chunlin nginx-1.10.3]# ./configure --prefix=/opt/nginx --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-http_ssl_module

configure是个shell脚本,是autoconf的工具的基本应用,用来配置软件属性,安装目录,检查编译所需的库文件是否存在或者符合条件等,生成编译所需要的Makefile 文件。

编译的时候我选择将http_gzip_static_module、http_stub_status_module、http_perl_module、http_ssl_module这四个模块编译进去。

  • http_gzip_static_module:这个模块支持在线实时压缩输出数据流
  • http_stub_status_module:监控Nginx的状态
  • http_perl_module:支持Perl脚本
  • http_ssl_module:开启SSL模块,支持使用HTTPS协议的网页

[root@chunlin nginx-1.10.3]# make
#make 是 Linux 开发套件里面自动化编译的一个控制程序,它根据Makefile控制代码编译源码。如果在make过程中出错了,可以通过先make clean,然后再重新make。
[root@chunlin nginx-1.10.3]# make install

澳门新浦京娱乐场网站 2

      mkdir /var/tmp/nginx   事先得创建此目录,不然启动nginx时会报错

软件环境:nginx-1.0.11.tar.gz 、mysql-5.5.15-linux2.6-i686.tar.gz、php-5.4.13.tar.bz2

澳门新浦京娱乐场网站:源码搭建LNMP环境,Discuz论坛的搭建。4. Nginx配置

[root@chunlin ~]# vim /opt/nginx/conf/nginx.conf
#需要先安装Nginx,以下是配置文件中要修改或增加的内容

user  php_fpm php_fpm;
location / {
        root   html;
        index  index.html index.htm index.php;
    }
location ~ .php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

[root@chunlin ~]# nginx -t
[root@chunlin ~]# nginx -s reload

[root@server1 nginx-1.10.1]# yum install openssl-devel -y
重新配置
[root@server1 nginx-1.10.1]# ./configure--prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module
[root@server1 nginx-1.10.1]# make
[root@server1 nginx-1.10.1]# make install

      tar xf nginx-1.8.1.tar.gz

、libevent-2.0.16-stable.tar.gz、pcre-6.6-2.e15_1.7.i389.rpm、pcre-devel-6.6-2.e15_1.7.i389.rpm

2.将nginx作为系统变量,开启nginx
 [root@server1nginx-1.10.1]# cd /usr/local/lnmp/nginx/
[root@server1 nginx]# ls
conf  html  logs sbin
[root@server1 nginx]# ln -s /usr/local/lnmp/nginx/sbin/nginx/usr/local/sbin/  #作软链接将nginx的启动命令作为系统命令
[root@server1 nginx]# nginx -t    #检测
nginx: the configuration file/usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conftest is successful
[root@server1 nginx]# nginx    #打开nginx

      cd nginx-1.8.1

一、Nginx的安装

2. mysql的源码安装及配置
1.安装
[root@server1 mnt]#tar zxf mysql-boost-5.7.11.tar.gz  #解压gz包
[root@server1 mnt]#yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y #安装cmake
[root@server1 mnt]#cd mysql-5.7.11/
2软件配置
[root@server1mysql-5.7.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql     #安装路径
>-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data   #数据库存放路径
>-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock   #Unix socket 文件路径
>-DWITH_MYISAM_STORAGE_ENGINE=1   #安装 myisam 存储引擎
>-DWITH_INNOBASE_STORAGE_ENGINE=1   #安装 innodb 存储引擎
>-DDEFAULT_CHARSET=utf8           #使用 utf8 字符
>-DDEFAULT_COLLATION=utf8_general_ci   #校验字符
>-DEXTRA_CHARSETS=all     #安装所有扩展字符集
>-DWITH_BOOST=boost/boost_1_59_0/  #boost的指定路径
如果出现如下错误

 

内容汇集:

澳门新浦京娱乐场网站 3

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx

pcre(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正规表达式库.这些在执行正规表达式模式匹配时用。与Perl 5同样的语法和语义是很有用的。 Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒,因此改用pcre来解决C语言中使用正则表达式的问题。

[root@server1mysql-5.7.11]# rm -fr CMakeCache.txt  #清空缓存文件
[root@server1mysql-5.7.11]# yum install ncurses-devel gcc-c -y  #安装上图需要的软件包
####注意:一定要清空缓存文件

--error-log-path=/var/log/nginx/error.log  --conf-path=/etc/nginx/nginx.conf

Libevent:是一个强大的跨平台的事件通知库,如果不想被多线程困扰,可以考虑这个平台,它从1.2.* 版本开始支持轻量级的http server 开发支持。随后陆续还推出轻量级 DNS server、RPC server 开发支持,这组事件API提供了一种当某个指定文件描述符有效或时间到达时执行某个函数的机制,在使用事件API前必须使用event_init()初始化,In order to process events, an application needs to call。

重新配置
[root@server1mysql-5.7.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all-DWITH_BOOST=boost/boost_1_59_0/

--http-log-path=/var/log/nginx/access.log

1、拆解并安装

澳门新浦京娱乐场网站 4

--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 --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       

 

make && make install

 

echo "export PATH=/usr/local/nginx/sbin:$PATH" > /etc/profile.d/nginx.sh

exec bash

 

(2) 编译安装php:

操作命令: yum -y install libxml2-devel   bzip2-devel   libjpeg-devel    libpng-devel    freetype-devel     libcurl-devel

libmcrypt-devel(此包在epel源中) 

tar xf php-5.4.40.tar.bz2  cd php-5.4.40

 

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

tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src

[root@server1mysql-5.7.11]# yum install bison -y  #系统可以跳过warning错误,此步骤可有可无
[root@server1 mysql-5.7.11]# make      #编译,链接,生成可执行文件
[root@server1 mysql-5.7.11]# make install  #安装
 
2.mysql的简单配置
[root@server1 mysql-5.7.11]# cd /usr/local/lnmp/mysql/
[root@server1 mysql]# useradd -u 27  -M -d /usr/local/lnmp/mysql/data -s/sbin/nologin mysql                                    #创建mysql用户
 [root@server1 mysql]#groupmod -g 27 mysql
[root@server1 mysql]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@server1 mysql]# chown mysql.mysql . -R        #修改mysql目录下文件的权限
[root@server1 mysql]# cp /etc/my.cnf  /mnt/            #备份my.cnf
[root@server1 mysql]# cd support-files/   
[root@server1 support-files]# cp my-default.cnf  /etc/my.cnf  #服务器配置文件
cp: overwrite `/etc/my.cnf'? y
[root@server1 support-files]# cp mysql.server/etc/init.d/mysqld  #添加mysql启动命令
[root@server1 support-files]# cd ..
[root@server1 mysql]# cd bin/
[root@server1 bin]# pwd
/usr/local/lnmp/mysql/bin
[root@server1 bin]# vim /root/.bash_profile    #将mysql添加到系统的环境变量里
  10PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
[root@server1 bin]# source /root/.bash_profile  #刷新环境变量文件
[root@server1 bin]# echo $PATH                  #查看mysql添加到环境变量
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/lnmp/mysql/bin
[root@server1 bin]# which mysql        #测试
/usr/local/lnmp/mysql/bin/mysql
[root@server1 ~]# mysqld --initialize --user=mysql    #初始化mysql

--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir -

-with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt --with-config-file-

path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl

 

make && make install       make test

 

cp php.ini-production /etc/php.ini

cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

chmod x /etc/rc.d/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

 

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf   为php-fpm提供配置文件

vim /usr/local/php/etc/php-fpm.conf

pm.max_children = 150      最大进程数(根据压测进行调试)

pm.start_servers = 8

pm.min_spare_servers = 5

pm.max_spare_servers = 10

user=nginx

group=nginx

 

(3)整合nginx和php5

vim /etc/nginx/nginx.conf

澳门新浦京娱乐场网站 5

 

$fastcgi_script_name   代表请求的uri      映射关系为  www.$$$.com/index.php --> /use/local/nginx/html/index.php

fastcgi_params  映射到此文件/etc/nginx/fastcgi_params

 

MySQL的编译安装在编译lamp博文中已经介绍了,此处不叙述

 

使用fastcgi_cache 模块添加缓存功能

  在http上下文中添加下面选项:

澳门新浦京娱乐场网站 6

 

 

为php添加加速器:

  tar xf xcache-3.2.0.tar.bz2    cd xcache-3.2.0

    /usr/local/php/bin/phpize  ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

  make && make install   mkdir /etc/php.d    cp xcache.ini /etc/php.d/

   service php-fpm restart

 

查看各软件编译时的参数:

php:php -r "phpinfo();" | grep configure

nginx: nginx -V

apache: cat /usr/local/httpd/build/config.nice

mysql: cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE

 

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

澳门新浦京娱乐场网站 7

make && make install

[root@server1 bin]# cd /usr/local/lnmp/mysql/
[root@server1 ~]# chown root . -R                #改回权限
[root@server1 mysql]# chown mysql data/ -R
[root@server1 ~]# /etc/init.d/mysqld start      #启动mysql
Starting MySQL. SUCCESS!
 [root@server1 ~]# mysql-p          #登陆mysql
Enter password:        #密码是上一个截图里最后的QV>6!r4LCyjw

2、处理头文件和库文件

澳门新浦京娱乐场网站 8  

库文件的处理:

  1. php的源码安装及配置
    1.安装
    [root@server1 mnt# tar jxf php-5.6.20.tar.bz2    #解压
    [root@server1 php-5.6.20]# rpm -vih libmcrypt-*  #安装libmcrypt库
    [root@server1 php-5.6.20]# yum installre2c-0.13.5-1.el6.x86_64.rpm –y  #安装re2c
    [root@server1 php-5.6.20]# ./configure--prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc--with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir--with-png-dir --with-jpeg-dir --with-freetype-dir --with-gettext--without-pear --with-gmp --enable-inline-optimization --enable-soap--enable-ftp --enable-sockets --enable-mbstring --with-mysqli --with-mysql--with-pdo-mysql --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx--with-mcrypt --with-mhash
    如果出现如下错误

编辑/etc/ld.so.conf.d/libevent.conf,内容如下

澳门新浦京娱乐场网站 9

/usr/local/libevent/lib

[root@server1 php-5.6.20]# yum install libxml2-devel -y
[root@server1 php-5.6.20]# ./configure--prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc--with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir--with-png-dir --with-jpeg-dir --with-freetype-dir --with-gettext--without-pear --with-gmp --enable-inline-optimization --enable-soap--enable-ftp --enable-sockets --enable-mbstring --with-mysqli --with-mysql--with-pdo-mysql --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx--with-mcrypt --with-mhash
 #####注意:php在加载配置过程中,如上面会报很多错误。有经验的可以根据报错自己去装所需要的包;新手可以参考前几篇博文,安装所需要的包
[root@server1 php-5.6.20]# make #编译
[root@server1 php-5.6.20]# make install  #安装
 
 2.php的配置
[root@server1 php-5.6.20]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# ls
php-fpm.conf.default
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf  #备份php的文件
[root@server1 etc]# ls
php-fpm.conf php-fpm.conf.default
[root@server1 etc]# cp /mnt/php-5.6.20/php.ini-productionphp.ini  #php的配置文件
[root@server1 etc]# ls
php-fpm.conf php-fpm.conf.default  php.ini
[root@server1 etc]# vim php.ini
925 date.timezone = Asia/Shanghai          #修改时区
1001 pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock  #指定连接数据库的sock文件的路径
1150 mysql.default_socket =/usr/local/lnmp/mysql/data/mysql.sock  #同上
1209 mysqli.default_socket =/usr/local/lnmp/mysql/data/mysql.sock  #同上
[root@server1 etc]# vim php-fpm.conf
25 pid = run/php-fpm.pid          #将pid的标记去掉
 
[root@server1 etc]# cd /mnt/php-5.6.20/sapi/fpm/
[root@server1 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm  #添加启动命令
[root@server1 fpm]# chmod x /etc/init.d/php-fpm      #添加可执行权限
[root@server1 fpm]# ll /etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2359 Sep 18 00:18 /etc/init.d/php-fpm
[root@server1 fpm]# /etc/init.d/php-fpm start        #开启php服务
Starting php-fpm  done
 
[root@server1 fpm]# cd /usr/local/lnmp/nginx/conf/
[root@server1 conf]# vim nginx.conf         
 51            root  html;
 52            index  index.php index.html index.htm;    #在nginx里添加默认访问目录为php优先
 50        location / {
 
 53        }
 
 75        location ~ .php$ {
 76            root          html;
 77            fastcgi_pass  127.0.0.1:9000;
 78            fastcgi_index  index.php;
 79            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 80            include        fastcgi.conf;        #设置成已存在的文件
 81        }
 
[root@server1 conf]# nginx –t      #检测
[root@server1 conf]# nginx          #开启
 
4.搭建bbs论坛
[root@server1 html]# unzip /mnt/Discuz_X3.2_SC_UTF8.zip -d/usr/local/lnmp/nginx/html/              #解压Discuz包
[root@server1 html]# ls
50x.html  index.html  index.php readme  upload  utility
[root@server1 html]# mv upload/ bbs/      #给upload文件重命名
[root@server1 html]# ls
50x.html  bbs  index.html index.php  readme  utility
[root@server1 html]# chmod 777 -R bbs/    #修改权限
[root@server1 html]# mysql –p           
Enter password:
mysql> grant all on discuz.* to Discuz@localhost identifiedby 'Red hat888';  #创建能从论坛操作数据库的数据库用户
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> exit
Bye
[root@server1 html]# cd /usr/local/lnmp/mysql/
[root@server1 mysql]# chmod 755 data/

刷新并查看

澳门新浦京娱乐场网站 10

澳门新浦京娱乐场网站 11

澳门新浦京娱乐场网站 12

头文件的处理:

澳门新浦京娱乐场网站 13

ln -s /usr/local/libevent/include /usr/include/libevent

LNMP安装参考如下文章

3、为了让nginx支持pcreperl库)的话还需要安装一个名为pcre的软件包

Ubuntu 14.04 搭建 LNMP  http://www.linuxidc.com/Linux/2015-05/116933.htm

经查看后发现已经有安装,但是有些额外的库放在名为pcre-devel的软件包内,安装该软件包

Ubuntu 14.04 LTS 安装 LNMP NginxPHP5 (PHP-FPM)MySQL  http://www.linuxidc.com/Linux/2014-05/102351.htm

澳门新浦京娱乐场网站 14

Ubuntu 13.04 安装 LAMPVsftpdWebminphpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

4、安装配置nginx

在部署LNMP的时候遇到Nginx启动失败的2个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm

groupadd -r nginx

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm

useradd -r -g nginx -s /sbin/nologin -M nginx -M不创建任何家目录)

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/135978.htm

tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src

澳门新浦京娱乐场网站 15

cd /usr/local/src/ nginx-1.0.11

./configure

--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 (获得pcre的支持)

make && make install

启动nginx

cd /usr/local/sbin

./nginx -t (测试语法)

澳门新浦京娱乐场网站 16

新建目录之后再做测试

澳门新浦京娱乐场网站 17

开启服务

澳门新浦京娱乐场网站 18

访问测试

澳门新浦京娱乐场网站 19

若想对服务做其他操作,可以利用./nginx -h查看其它参数

澳门新浦京娱乐场网站 20

关闭服务

澳门新浦京娱乐场网站 21

配置环境变量,可以在其它目录下直接输入命令开启服务

PATH=$PATH:/usr/local/nginx/sbin

5、编辑控制脚本

cd /etc/init.d

vim nginx

澳门新浦京娱乐场网站 22

澳门新浦京娱乐场网站 23

把脚本权限设成可执行

chmod a x nginx

想要脚本能够生效还需要新建临时目录

mkdir -pv /var/tmp/nginx/client

测试

澳门新浦京娱乐场网站 24

编辑控制脚本文件,使nginx支持chkconfig

澳门新浦京娱乐场网站 25

不要忘记有空格)

测试

澳门新浦京娱乐场网站 26

温馨提示:

1、因为php与fastcgi结合以使nginx和mysql完成交互,所以应该首先安装nginx和mysql

2、在安装源码或者是二进制软件的过程中,要学会查看说明文件来方便我们的安装过程,比如在安装源码时,拆解完后在其文件夹下形成configure文件,我们可以利用./configure --help |less 命令来查看安装的具体步骤和注意事项

二、mysql的二进制安装

1、拆解

tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local

cd /usr/local

ln -s mysql-5.5.15-linux2.6-i686 mysql 为了方便,为文件做个链接)

2、安装

groupadd -r mysql (创建系统组)

useradd -r -g mysql mysql -s /sbin/nologin (创建系统账号、加入到系统组中并指明shell)

cd mysql

chown -R mysql:mysql . 改变所有者和所属组)

scripts/mysql_install_db --user=mysql 建设初始数据库)

chown -R root .

chown -R mysql data 为了把数据写入date中,所有者改为mysql)

cp support-files/my-medium.cnf /etc/my.cnf 产生配置文件)

cp support-files/mysql.server /etc/init.d/mysqld 产生控制脚本)

2、启动mysql

澳门新浦京娱乐场网站 27

3、连接mysql的工具,mysql客户端

澳门新浦京娱乐场网站 28

经查看所需客户端工具在/use/local/mysql/bin目录下

为了方便调用这些工具,设置环境变量

vim /etc/profile

澳门新浦京娱乐场网站 29

加载并验证

澳门新浦京娱乐场网站 30

库文件的处理

cd /etc/ld.so.conf.d

澳门新浦京娱乐场网站 31

头文件的处理

cd /usr/local/mysql

ln -s include/ /usr/include/mysql

三、PHP是以fastcgi的方式运行)

1、安装配置

tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src

cd /usr/local/src/php-5.4.13/

./configure

--prefix=/usr/local/php

--enable-fpm

--enable-sockets

--with-mysql=/usr/local/mysql

--with-mysqli=/usr/local/mysql/bin/mysql_config

--enable-mbstring

--enable-xml

--with-png-dir

--with-png

--with-jpeg-dir

--with-zlib

--with-freetype-dir

--with-config-file-path=/etc/php (php的初始化文件)

--with-config-file-scan-dir=/etc/php5.d php的额外配置文件,php*.d为自定义名)

make && make install

2、对安装后的文件做处理

编辑环境变量使执行程序能直接运行

vim /etc/profile

澳门新浦京娱乐场网站 32

澳门新浦京娱乐场网站,3、新建各种需要的文件

mkdir /etc/php /etc/php5.d

cp php.ini-production /etc/php/php.ini 产生php初始化文件)

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm ( 产生php-fpm的控制脚本)

chmod a x /etc/init.d/php-fpm

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf (产生php-fpm的配置文件)

启动php-fpm

澳门新浦京娱乐场网站 33

chkconfig --add php-fpm

4、配置nginx,让nginx可以相应php页面的请求,发送给php-fpm

vim /etc/nginx/nginx.conf

澳门新浦京娱乐场网站 34

澳门新浦京娱乐场网站 35

5、启动三种服务

service mysqld start

澳门新浦京娱乐场网站 36

6、为mysql设置用户名、密码

mysqladmin -u root -p password '123'

7、访问

cd /usr/local/nginx/html

mv index.html index.php

vim index.php

插入

<?php

phpinfo();

?>

澳门新浦京娱乐场网站 37

本文出自 “xiaoxiaozhou” 博客,请务必保留此出处

代表的就是: Linux 系统下 Nginx MySQL PHP 这种网站服务器架构 , Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理...

本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:澳门新浦京娱乐场网站:源码搭建LNMP环境,Dis