Centos 中搭建LNMP环境

前端之家收集整理的这篇文章主要介绍了Centos 中搭建LNMP环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP 安装

  • 准备工作(必要的依赖包)

    yum -y install bzip2-devel curl-devel freetype-devel gcc libjpeg-devel libpng-devel libxslt-devel libxml2-devel openssl-devel pcre-devel pcre-devel zlib-devel

  • 本地下载安装包

    http://php.net/get/php-7.0.11.tar.gz/from/a/mirror (下载PHP-7.0.11.tar.gz)

  • 将安装包远程传到服务器上

    scp PHP-7.0.11.tar.gz username@ip:/usr/local/PHP-7.0.11.tar.gz

  • 解压安装包

    tar -zxvf PHP-7.0.11.tar.gz

    注:如果报错
      gzip: stdin: not in gzip format
      tar: Child returned status 1
      tar: Error is not recoverable: exiting now

      
      原因 : 这个压缩包没有用gzip格式压缩,所以不用加z指令!
      tar -xvf PHP-7.0.11.tar.gz

  • 配置安装变量

    ./configure –prefix=/usr/local/PHP –with-curl –with-freetype-dir –with-gd –with-gettext –with-iconv-dir –with-kerberos –with-libdir=lib64 –with-libxml-dir –with-MysqLi –with-openssl –with-pcre-regex –with-pdo-MysqL –with-pdo-sqlite –with-pear –with-png-dir –with-jpeg-dir –with-xmlrpc –with-xsl –with-zlib –with-bz2 –with-mhash –enable-fpm –enable-bcmath –enable-libxml –enable-inline-optimization –enable-gd-native-ttf –enable-mbregex –enable-mbstring –enable-opcache –enable-pcntl –enable-shmop –enable-soap –enable-sockets –enable-sysvsem –enable-sysvshm –enable-xml –enable-zip

    注:./configure –prefix=/usr/local/PHP 是安装路径,可以改成自己喜欢的安装路径。

  • 编译源码

    //在解压目录执行编译命令:make
    cd PHP-7.0.11
    make

    注:编译会花费一些时间,耐心等待即可。编译完成的最后会提示你执行make test命令。就是对上一步 make 的检查,要确保 make 是没有错误的,也就是这一步的 test、check要全部是 OK 的,error 为0。

  • 安装PHP

    make install

  • 配置PHP

    PHP源码包(/usr/local/PHP-7.0.11)中的PHP.ini-development文件复制到/usr/local/PHP/下,更名为PHP.ini。

    cp /usr/local/PHP-7.0.11/PHP.ini-development /usr/local/PHP/PHP.ini
    cp /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf
    cp /usr/local/PHP/etc/PHP-fpm.d/www.conf.default /usr/local/PHP/etc/PHP-fpm.d/www.conf

    配置PHP.ini

    cgi.fix_pathinfo=0 
  • 启动PHP-fpm

    /usr/local/PHP/sbin/PHP-fpm
  • 检查PHP-fpm工作情况

    PHP-fpm 服务器默认的端口是9000,查看9000端口是否有进程被监听

    netstat -tln | grep 9000 

安装Nginx

  • 准备工作必要依赖包安装

    在安装Nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。

    yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
  • 本地下载安装包

    https://nginx.org/download/ (下载Nginx-1.9.9.tar.gz)

  • 将安装包远程传到服务器上

    scp PHP-7.0.11.tar.gz username@ip:/usr/local/Nginx-1.9.9.tar.gz

  • 解压安装包

    tar -zxvf Nginx-1.9.9.tar.gz

  • 配置/编译

    cd Nginx-1.9.9
    //注:编译 (地址可以自己定义)
    ./configure --prefix=/etc/Nginx     
    make
    make install
  • 检测安装是否成功

    cd  /etc/Nginx/sbin
    
    ./Nginx

    如果在这个环节报错:
    Nginx: [alert] could not open error log file: open()
    "/usr/local/Nginx/logs/error.log" Failed (2: No such file or directory)
    2016/09/13 19:08:56 [emerg] 6996#0: open() "/usr/local/Nginx/logs/access.log" Failed (2: No such file or directory)

    原因分析:Nginx/目录下没有logs文件

    mkdir logs
    chmod 700 logs
  • 监听查询查看

    ps aux|grep Nginx

    直接输入IP地址,页面渲染为:

    【异常处理】
    如果没有上面的渲染页面,我们则需要Telnet 连接下:
    telnet Ip地址 80
    如果报连接失败,则说明服务器的80端口是打不开的。
    解决方案】
    firewall-cmd –query-port=80/tcp

    说明80端口还真没打开呀!
    (⊙o⊙)开启80端口走起!
    firewall-cmd –add-port=80/tcp –permanent
    注: –permanent #永久生效,没有此参数重启后失效
    o( ̄ヘ ̄o#)重启防火墙
    systemctl restart firewalld

    (^o^)/~刷新浏览器!

  • 设置Nginx开机启动

    vim /etc/rc.d/rc.local   
    
    #开机启动
    
    /etc/Nginx/sbin/Nginx

    注:所有的开机启动都要在 /etc/rc.d/rc.local 中

  • 配置Nginx

    编辑Nginx配置文件/etc/Nginx/conf/Nginx.conf,主要修改Nginx的server {}配置块中的内容修改location块,追加index.PHPNginx服务器默认支持index.PHP首页

    然后配置.PHP请求被传送到后端的PHP-fpm模块,默认情况下PHP配置块是被注释的,此时去掉注释并修改为以下内容

    主要修改的就是fastcgi_param设置为:
    SCRIPT_FILENAME $document_root$fastcgi_script_name
    修改完这些保存并退出,然后重启Nginx
    /etc/Nginx/sbin/Nginx -s reload

  • 检测是否配置成功

    Nginx下的html目录下创建test.PHP文件,打印一下PHP配置:

    touch test.PHP
    vi test.PHP
    PHPinfo(); 

    访问PHP文件如果出现PHP配置,则Nginx配置成功


MysqL安装

  • 【运行环境】查看自己主机的属性(选择适合主机的MysqL包)

    more /etc/issue
  • 【安装方法阐述

    安装MysqL主要有两种方法

    第一种是通过源码自行编译安装,这种适合高级用户定制MysqL的特性,这里不做说明;

    第二种是通过编译过的二进制文件进行安装。


    二进制文件安装的方法又分为两种:

    一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件

    第二种是使用RPM或其他包进行安装,这种安装进程会自动完成系统的相关配置,所以比较方便。

  • 【检查安装包】检查是否已安装

    rpm -qa | grep -i MysqL
    *注:grep的-i选项表示匹配时忽略大小写

    可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了–nodeps选项,忽略了依赖关系:

    rpm -e MysqL-libs-5.1.73-7.el6.x86_64 --nodeps

    再次运行上面命令(rpm -qa | grep -i MysqL)的时候 将不会再显示文件

  • 添加用户组】

    添加MysqL组和MysqL用户,用于设置MysqL安装目录文件所有者和所属组。

    groupadd MysqL
    useradd -r -g MysqL MysqL

    *注:useradd -r参数表示MysqL用户是系统用户,不可用于登录系统。

  • 【二进制文件安装】

原文链接:https://www.f2er.com/centos/377309.html

猜你在找的CentOS相关文章