非原创 来自多篇百度出来的教程,文章 ;
经过数次失败后把成功那次的操作步骤从相应文章中复制下来而已。
虽然途中记录,收藏了部分文章教程或内容,不过大多数是安装成功后数天才重新找的资料,不知道是否有遗漏....

亮机

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

安装完成后重启设备生效

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  

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;

        }

}

MYSQL/MariaDB

幸运的是ARM版本的CentOS7自带的yum源是有mariaDB的,所以直接

yum -y install mariadb mariadb-server

完事

标签: none

添加新评论