美文网首页我爱编程
树莓派3b CentOS7搭建lnmp环境

树莓派3b CentOS7搭建lnmp环境

作者: Rob_Lee | 来源:发表于2018-04-12 18:41 被阅读0次

    非原创 来自多篇百度出来的教程,文章 ;

    经过数次失败后把成功那次的操作步骤从相应文章中复制下来而已。

    虽然途中记录,收藏了部分文章教程或内容,不过大多数是安装成功后数天才重新找的资料,不知道是否有遗漏....

    #亮机

    1.下载arm架构的CetnOS7 点击下载

    2.下载完后是.xz压缩文件格式 先使用7-zip进行解压获得.img镜像文件(切勿直接改后缀名)然后使用Win32DiskImager写入到TF卡中

    3.接入电源网线开机,开机指示灯正常为电源红灯常亮->电源绿灯闪烁一会

    4.通过网线接入路由,网线绿灯常亮表示工作,到路由查看分配的IP是多少

    5.使用XShell/Putty等软件进行SSH连接,账号root,密码centos

    #关闭防火墙

    临时关闭


    systemctl stop firewalld.service


    关闭开机启动 


    systemctl disable firewalld.service


    #关闭SELunix

    查看selunix状态 


    getenforce


    /usr/sbin/sestatus -v


    关闭


    vi /etc/selinux/config


    SELINUX=enforcing改为SELINUX=disabled

    重启生效

    #连接WIFI

    1.安装wifi模块


    curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/54bab3d6a6d43239c71d26464e6e10e5067ffea7/brcm80211/brcm/brcmfmac43430-sdio.bin > /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin


    curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/54bab3d6a6d43239c71d26464e6e10e5067ffea7/brcm80211/brcm/brcmfmac43430-sdio.txt > /usr/lib/firmware/brcm/brcmfmac43430-sdio.txt


    安装完成后reboot

    2.nmcli命令连接wifi

    查看网卡状态


    nmcli d /nmcli d status


    连接wifi


    nmcli d wifi connect [SSID] password [PWD]


    #设置静态IP

    vi  etc/sysconfig/network-script/ifcfg-[WIFI-SSID] 

    BOOTPROTO=static              #静态IP

    IPADDR=192.168.31.160      #IP地址

    GATEWAY=192.168.31.1    #默认网关

    NETMASK=255.255.255.0  #子网掩码

    service network restart  重启网卡

    #修改DNS


    vi /etc/resolv.conf


    #修改以下内容


    nameserver 8.8.8.8 #google域名服务器

    nameserver 8.8.4.4 #google域名服务器  223.5.5.5  阿里dns

    nameserver 114.114.114.114 

    service network restart  重启网卡



    #rz sz安装


    yum install lrzsz



    #扩展分区

    其实安装完后打开~/README有说 省略

    查看分区信息


    df -h


    #Nginx安装

    创建一个nginx群组


    groupadd -r nginx


    创建一个nginx用户


    useradd -r -g nginx -s /sbin/nologin -d /usr/local/nginx -M nginx


    先用系统yum源安装依赖


    yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel


    到官网用wget下载最新版nginx 官网链接

    如稳定版


    wget https://nginx.org/download/nginx-1.12.2.tar.gz


    解压


    tar -zxvf nginx-1.12.2.tar.gz 


    并进入目录


    cd nginx-1.12.2 


    进行编译安装:


    ./configure (如果这步有error的话请先解决再进行make && make install  一般都是依赖没装好)


    make && make install


     安装目录在/usr/local/nginx/

    完成安装后可以手动打开nginx


    /usr/local/nginx/sbin/nginx -s [stop | quit | reload]  (无最后参数则为启动)


    #注册nginx.service

    编译安装不带nginx.service所以不注册就需要使用上面的方法手动开启


    cd /usr/lib/systemd/system


    touch nginx.service


    vim nginx.service


    加入内容并:wq


    [Unit]

    Description=nginx

    After=network.target

    [Service]

    Type=forking

    ExecStart=/usr/local/nginx/sbin/nginx

    ExecReload=/usr/local/nginx/sbin/nginx -s reload

    ExecStop=/usr/local/nginx/sbin/nginx -s quit

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target


    之后可以使用以下命令


    systemctl start | status | stop | reload nginx.service


    #Nginx配置文件位置


    /usr/local/nginx/conf/nginx.conf


    #安装PHP7.1.6

    下载


    wget -c https://github.com/php/php-src/archive/php-7.1.6.tar.gz


    解压


    tar -zxvf php-7.1.6.tar.gz


    进入目录


    cd php-7.1.6.tar.gz


    如果发现目录中没有configure文件的话需要在目录中运行buildconf文件来生成

    使用系统自带yum源安装依赖


    yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel


    #坑

    一般安装完依赖会进行configure 此时运行configure后我出现了libmcrypt和mcrypt的warning

    再次到yum安装提示已经安装完成 可能是版本太旧或其他原因,尝试编译安装

    下载libmcrypt


    wget -c https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz


    解压


    tar -zxvf libmcrypt-2.5.8.tar.gz


    进入目录


    cd libmcrypt-2.5.8


    检查配置、依赖


    ./configure


    进行安装


    make && make install


    下载mcrypt


    wget -c https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz


    解压


    tar -zxvf mcrypt-2.6.8.tar.gz


    进入目录


    cd mcrypt-2.6.8



    检查配置、依赖


    ./configure LD_LIBRARY_PATH=/usr/local/lib



    安装


     make && make install



    可能会遇到configure:error: Don't know howtodefine struct flockonthis system,set--enable-opcache=no的错误


    vi /etc/ld.so.conf



    在末尾另起一行加上


    /usr/local/lib



    保存后执行


    ldconfig




    回到PHP716的安装

    进行配置、检查依赖


    ./configure \--prefix=/usr/local/php \--exec-prefix=/usr/local/php \--bindir=/usr/local/php/bin \--sbindir=/usr/local/php/sbin \--includedir=/usr/local/php/include \--libdir=/usr/local/php/lib/php \--mandir=/usr/local/php/php/man \--with-config-file-path=/usr/local/php/etc \--with-mysql-sock=/var/run/mysql/mysql.sock \--with-mcrypt \--with-openssl \--with-mysqli=shared,mysqlnd \--with-pdo-mysql=shared,mysqlnd \--with-gd \--with-iconv \--with-zlib \--enable-zip \--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \--enable-xml \--enable-bcmath \--enable-shmop \--enable-sysvsem \--enable-mbregex \--enable-mbstring \--enable-ftp \--enable-gd-native-ttf \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-soap \--without-pear \--with-gettext \--enable-session \--with-curl \--with-jpeg-dir \--with-freetype-dir \--enable-opcache \--enable-fpm \--with-fpm-user=nginx \--with-fpm-group=nginx \--without-gdbm \--enable-fast-install \--disable-fileinfo


    无任何错误信息后进行安装


    make && make install


    安装时间比较长,用了3小时左右,感觉不太正常,不过最后安装成功没去纠结了。

    安装完成后目录是 /usr/local/php/

    #配置PHP

    将php.ini复制到目录指定位置

    先进去php7.1.6的源码包目录


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


    打开php.ini并进行修改


    找到extension_dir

    更改为 extension_dir ="../lib/php/extensions/no-debug-non-zts-20160303/"

    也可以改为绝对路径

    找到`extension`位置, 输入以下内容

    ; For UNIX OSopenmysqli

    extensionextension=mysqli.so

    extension=pdo_mysql.so

    保存退出


    将php-fpm配置文件复制到指定位置

    同样到php7.1.6源码包目录


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


    到php安装目录复制一份php-fpm配置文件来使用


    cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf


    到php安装目录复制一份www.conf配置文件来使用


    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf


    将PHP添加到环境变量


    vim /etc/profile.d/php.sh

    添加内容,保存退出

    exportPATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/


    使用source命令生效刚添加的内容


    source /etc/profile.d/php.sh


    创建php-fpm日志目录


    mkdir -p /var/log/php-fpm/


    创建`php-fpm`进程的ID(php-fpm.sock)文件运行目录


    mkdir -p /var/run/php-fpm


    修改`php-fpm`进程的ID(php-fpm.sock)文件运行目录的所属用户和组


    chown -R nginx:nginx /var/run/php-fpm/


    创建`session`存放目录


    mkdir -p /var/lib/php/session


    修改`session`存放目录的所属用户和组


    chown -R nginx:nginx /var/lib/php


    修改`php.ini`文件


    vim /usr/local/php/etc/php.ini

    找到 session.save_path

    修改为 session.save_path ="/var/lib/php/session"


    修改系统配置目录下的`php-fpm`文件可执行权限


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


    将系统配置目录下的`php-fpm`添加到`系统服务`


    chkconfig --add php-fpm


    设置`php-fpm``系统服务`为开机启动


    chkconfig php-fpm on


    检查开机启动是否设置成功


    chkconfig --list | grep php-fpm

    第二,第五个是on即可 (注 是从0开始的)


    测试PHP的配置文件是否无误


    php-fpm -t


    记得启动下php-fpm服务


    systemctl start php-fpm.service


    查看php版本


    php -v


    #nginx站点配置

    基本没用过nginx 所以在站点配置上踩了几个坑 如.htaccess、pathinfo

    直接上配置

    server {

            listen      80;

            server_name  localhost;

            root /var/www/Laravel/public;

            charset utf-8;

            #access_log  logs/host.access.log  main;

            location / {

                index index.php index.html index.htm;

                #REWRITE

                if (!-e $request_filename) {

                rewrite  ^/(.*)$  /index.php?s=$1  last;

                break;

                }

            }

            location ~\.php {

              fastcgi_pass  127.0.0.1:9000;

                  root /var/www/Laravel/public;

                  fastcgi_index  index.php;

                  fastcgi_param  SCRIPT_FILENAME  /var/www/Laravel/public/$fastcgi_script_name;

                  include        fastcgi_params;

            }

    }

    相关文章

      网友评论

        本文标题:树莓派3b CentOS7搭建lnmp环境

        本文链接:https://www.haomeiwen.com/subject/faxfkftx.html