• 麒麟系统+lnmp+laravel 搭建


    银河麒麟系统安装
    官网选择对应的镜像下载
    https://eco.kylinos.cn/partners/mirror.html?class_id=1&query_key=
    在这里插入图片描述

    下载rufus 制作启动盘
    http://rufus.ie/zh/

    在这里插入图片描述
    在这里插入图片描述

    配置bios 选择u盘作为启动项

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    选择安装源
    http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/

    Lnmp 环境搭建
    下载地址
    https://lnmp.org/download.html
    1.进入/usr/local目录 把环境包下载当前目录 进行解压安装

    在这里插入图片描述

    在这里插入图片描述

    执行以下命令

    tar zxf lnmp1.9-full.tar.gz && cd lnmp1.9-full && ./install.sh lnmp
    

    选择4 后面一直回车即可

    在这里插入图片描述
    在这里插入图片描述

    输入mysql密码 后回车 选择php 版本 这里选择10
    在这里插入图片描述

    这里默认回车即可
    在这里插入图片描述

    回车安装
    在这里插入图片描述

    安装完成
    在这里插入图片描述

    2.配置mysql 数据库
    把要导入的sql 上传至home 目录

    mysql -u root -p 数据库密码 进入mysql 执行
    
    mysql> create database xxx;//创建数据库
    mysql>use xxx;//进入数据库
    mysql>set xxx utf8;//设置数据库字符集
    mysql>source /home/xxx.sql;//导入sql脚本文件
    

    注:
    由于处理器不同 安装时mysql的版本需要下载对应的内核版本
    x86_64就是我们常用的台式机的体系架构,是基于冯诺依曼体系架构的。x86_64 Linux可以理解为在普通台式机上安装的Linux操作系统。
    AArch64是一种ARMv8架构,也是一种计算机的体系架构。AArch64 Linux可以理解为在ARMv8架构的计算机上安装的Linux操作系统。

    https://www.jianshu.com/p/2753c45af9bf

    https://pan.baidu.com/s/16NEr63lHAdQXBJTAma_Wkg?pwd=4bnk

    1. 下载 mysql-5.7.27-aarch64.tar.gz 并上传到服务器上

    2. 解压

    # tar xzvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/
    
    1. 配置Mysql
    # mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql #移动文件并重命名
    # mkdir -p /usr/local/mysql/logs #创建文件目录
    # chown -R mysql:mysql /usr/local/mysql #设置文件或文件夹所属的用户组:用户权限 -R包含子目录
    # ln -sf /usr/local/mysql/my.cnf /etc/my.cnf #创建软连接(link)
    # cp -rf /usr/local/mysql/extra/lib* /usr/lib64/ #拷贝文件(r忽略提醒 f 强制覆盖)
    # mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old 
    # ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
    
    1. 设置开机启动
    # cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    # chmod +x /etc/init.d/mysqld #设置执行权限
    # systemctl enable mysqld#允许开机启动
    
    1. 添加环境变量
    # vim /etc/profile 编辑
    

    输入下面两行代码:

    export MYSQL_HOME=/usr/local/mysql  #写入环境变量
    export PATH=$PATH:$MYSQL_HOME/bin
    
    1. 使环境变量生效
    # source /etc/profile #环境变量生效
    
    1. 初始化启动mysql 无密码登录初始化
    # mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 
    
    1. 开启mysql
    # systemctl start mysqld
    
    1. 查看状态
    # systemctl status mysqld
    
    1. 登录mysql
    # mysql -u root
    
    1. mysql用户设置 删除已有root用户
    mysql> delete from mysql.user where user='root
    

    添加root用户

    mysql> grant all privileges on *.* to 'root'@'%' identified by 'rootpwd';
    

    刷新权限

    mysql> flush privileges;
    

    3.进入home 下的wwwroot 目录把项目包 下载到当前目录 进行解压

    执行以下命令

    tar zxf laravel.tar.gz
    

    解压完成后 更改目录权限

    chmod 777 laravel
    

    进入目录下 编辑.env 文件 进行配置 DB_PASSWORD 为你的数据库密码

    vim .env 
    

    在这里插入图片描述

    4.配置nginx
    到usr/local/nginx/conf 编辑nginx.conf 文件
    配置入nginx.conf 如要直接覆盖请备份原有文件 配置成功后 重启nginx服务

    systemctl restart nginx
    

    service nginx restart
    

    在这里插入图片描述

    vim usr/local/nginx/conf /fastcgi.conf 
    

    注释掉下面的

    在这里插入图片描述

    重启 nginx

    service nginx restart
    

    注:
    nginx 交替出现404 和200的问题
    nginx 一个页面中,404 和 200交替出现
    一个页面时候,一会儿正常200 一会儿404
    个人总结:是因为改了配置文件,然后重启NGINX 但是NGINX的子进程没有完全清空
    导致后面 旧进程的配置还没有更新,还在用旧的配置,重启NGINX的时候,这时候用的是新配置,所以才会有时候404 有时候200新的进程配置就是200旧的进程配置就会404

    kill掉 主进程 master

    kill -9 19718 
    killall nginx
    service nginx start
    

    5.访问服务器ip

    注:进入usr/local/php/etc/php.ini 改成On 打开报错提示 并重启php

    service php-fpm restart
    

    查看nginx进程是否启动

    ps -ef|grep nginx
    

    nginx进程在启动的时候,会附带一个守护进程,用于保护正式进程不被异常终止;如果守护进程一旦返现nginx继承被终止了,会自动重启该进程。
    守护进程一般会称为master进程,业务进程被称为worker进程
    nginx服务器的配置信息主要集中在nginx.conf这个配置文件中,并且所有的可配置选项大致分为以下几个部分

    main                                # 全局配置
    
    events {                            # nginx工作模式配置
    
    }
    
    http {                                # http设置
        ....
    
        server {                        # 服务器主机配置
            ....
            location {                    # 路由配置
                ....
            }
    
            location path {
                ....
            }
    
            location otherpath {
                ....
            }
        }
    
        server {
            ....
    
            location {
                ....
            }
        }
    
        upstream name {                    # 负载均衡配置
            ....
        }
    }
    

    如上述配置文件所示,主要由6个部分组成:
    main:用于进行nginx全局信息的配置
    events:用于nginx工作模式的配置
    http:用于进行http协议信息的一些配置
    server:用于进行服务器访问信息的配置
    location:用于进行访问路由的配置
    upstream:用于进行负载均衡的配置

    rewrite语法格式及参数语法说明如下:
    rewrite [flag];

    关键字      正则        替代内容          flag标记
    
    关键字:其中关键字error_log不能改变
    
    正则:perl兼容正则表达式语句进行规则匹配
    
    替代内容:将正则匹配的内容替换成replacement
    
    flag标记:rewrite支持的flag标记
    

    flag标记说明:
    last #本条规则匹配完成后,继续向下匹配新的location URI规则
    break #本条规则匹配完成即终止,不再匹配后面的任何规则
    redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
    permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
    Nginx的负载均衡模块
    目前支持4种调度算法,下面进行分别介绍,其中后两项属于第三方的调度方法。
    · 轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响;
    · Weight:指定轮询权值,Weight值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下;
    · ip_hash:每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题;
    · fair:比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块;
    · url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包。
    在HTTP Upstream模块中,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。常用的状态有:
    · down:表示当前的server暂时不参与负载均衡;
    · backup:预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻;
    · max_fails:允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误;
    · fail_timeout:在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
    ————————————————

  • 相关阅读:
    TransFuse跑自己的数据集
    linux服务器上的matplotlib中文字体乱码问题(使用ttf文件)
    工厂方法模式——设计模式
    JavaSE 第六章 面向对象基础 - 中 (多态)
    攻防世界WEB练习-fileclude
    从零开始做一款Unity3D游戏<一>——亲自上手使用Unity
    《树莓派项目实战》第八节 使用光敏电阻传感器检测环境中是否有光照
    postgresql存储过程基本语法
    算法竞赛进阶指南 搜索 0x24 迭代加深
    linux驱动30:度量时间差
  • 原文地址:https://blog.csdn.net/qq_38324424/article/details/126949120