xiaoxue85 发表于 2018-12-12 09:29:01

lnmp搭建(Nginx1.12.1;mysql5.7.20;php7.2.0)

  转载:https://blog.csdn.net/weixin_37998647/article/deta
  安装依赖包:
  #yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel libpng-devel libjpeg-devel freetype freetype-devel
  1
  创建www用户:
  #groupadd www
  #useradd -g www -s /sbin/nologin -M www
  1
  2
  一、安装Nginx1.12.1:
  centos6.8的镜像带的Nginx版本是1.12.1
  #yum install -y nginx
  #/etc/init.d/nginx start
  1
  2
  二、安装mysql5.7.20:
  #wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
  #rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
  #yum install mysql-community-server
  #service mysqld start
  #grep 'temporary password' /var/log/mysqld.log| awk '{print $NF}'
  #mysql -uroot -p
  mysql>set global validate_password_policy=0;
  mysql>set global validate_password_length=6;
  mysql>SET PASSWORD FOR 'root'@'localhost' =PASSWORD('**');
  1
  2
  3
  4
  5
  6
  7
  8
  9
  三、安装PHP7.2.0
  3.1源码编译安装
  #wget rm -php-7.2.0.tar.xz
  #tar xvJf php-7.2.0.tar -C /usr/local/
  #cd /usr/local/php-7.2.0
  #./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts --with-libdir=lib64

make

make install
  1
  2
  3
  4
  5
  6
  7
  上面configure步骤,可能会因为缺少依赖包而报错,我这台机器安装过其他一些其他的包,不同的机器情况可能不一样,在编译的时候根据报错信息
  用yum search 查找依赖包并安装,编译完成之后是没有error的!!!
  make install 完成后也是没有error的才可以进行后面的步骤。
  3.2 配置PHP
  #cp /usr/local/php-7.2.0/php.ini-development /usr/local/php/etc/php.ini
  1
  #cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  1
  #cp /usr/local/php-7.2.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  1
  #chmod +x /etc/init.d/php-fpm
  1
  #cp /usr/local/php/etc/php-fpm.d/www.conf.default/usr/local/php/etc/php-fpm.d/www.conf
  1
  3.3启动php-fpm

/etc/init.d/php-fpm start
  Starting php-fpmdone
  1
  2
  3.4添加 PHP 命令到环境变量
  vim ~/.bash_profile
  cat ~/.bash_profile

.bash_profile

Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi

User specific environment and startup programs
  PATH=$PATH:$HOME/bin:/usr/local/php/bin
  export PATH
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  使之生效:
  #. ~/.bash_profile
  1
  3.5查看PHP版本:

php -v
  PHP 7.2.0 (cli) (built: Dec 17 2017 19:58:31) ( ZTS )
  Copyright (c) 1997-2017 The PHP Group
  Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
  1
  2
  3
  4
  3.6测试结果:
  vim /usr/share/nginx/html/a.php
  
  1
  2
  3
  4
  vim /etc/nginx/conf.d/default.conf
  cat /etc/nginx/conf.d/default.conf
  server {
  listen       80;
  server_namelocalhost;
  

#charset koi8-r;  
#access_log/var/log/nginx/host.access.logmain;
  

  
location / {
  root   /usr/share/nginx/html;
  index index.php index.html index.htm;
  
}
  
location ~ \.php$ {
  root         html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_indexindex.php;
  fastcgi_paramSCRIPT_FILENAME/usr/share/nginx/html$fastcgi_script_name;
  include      fastcgi_params;
  
}
  

  
#error_page404            /404.html;
  

  
# redirect server error pages to the static page /50x.html
  
#
  
error_page   500 502 503 504/50x.html;
  
location = /50x.html {
  root   /usr/share/nginx/html;
  
}
  

  
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
  
#
  
#location ~ \.php$ {
  
#    proxy_pass   http://127.0.0.1;
  
#}
  

  
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  
#
  
#location ~ \.php$ {
  
#    root         html;
  
#    fastcgi_pass   127.0.0.1:9000;
  
#    fastcgi_indexindex.php;
  
#    fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
  
#    include      fastcgi_params;
  
#}
  

  
# deny access to .htaccess files, if Apache's document root
  
# concurs with nginx's one
  
#
  
#location ~ /\.ht {
  
#    denyall;
  
#}
  

  }
  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
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  Nginx配置文件修改的地方(在server里面添加 index.php格式的文件。增加一个location模块)
  重新加载Nginx,重启php-fpm

/etc/init.d/nginx restart
  Stopping nginx:                                          
  Starting nginx:                                          

/etc/init.d/php-fpm restart
  Gracefully shutting down php-fpm . done
  Starting php-fpmdone
  1
  2
  3
  4
  5
  6
  测试:

curl 192.168.1.185/a.php
  1
  或者直接到网页上访问。
  至此,lnmp环境搭建成功
  笔者在参考文档搭建环境时遇到诸多问题,见如下连接解决:
  安装依赖包时报错:https://www.cnblogs.com/linux-super-meng/p/4150987.html
  我的php是安装的7.2.4版本,从官网下载的安装包:http://php.net/get/php-7.2.4.tar.gz/from/a/mirror
  安装mysql时报错: https://ask.csdn.net/questions/674613
  安装完mysql时无法登录mysql:https://www.cnblogs.com/gumuzi/p/5711495.html
  centos7关闭防火墙: https://www.linuxidc.com/Linux/2015-05/117473.htm
  配置nginx支持php:https://www.cnblogs.com/jecyhw/p/5504855.html


页: [1]
查看完整版本: lnmp搭建(Nginx1.12.1;mysql5.7.20;php7.2.0)