麒麟系统+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一起使用。
————————————————

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mars慕容

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值