laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。 那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。
- 环境要求 PHP >= 7.0.0
- 安装教程 https://laravel.com/docs/5.5
composer create-project --prefer-dist laravel/laravel ./
laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。 那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。
composer create-project --prefer-dist laravel/laravel ./
{
"SublimeLinter":
{
"linters":
{
"php":
{
"cmd": "F:\\program\\phpStudy\\php\\php-7.1.8-nts\\php.exe"
}
}
},
"color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
"font_face": "Courier New",
"font_size": 14,
"ignored_packages":
[
"Vintage"
],
"theme": "Soda Dark 3.sublime-theme",
"update_check": false,
"word_wrap": "auto"
}
{
"jsdocs_extra_tags":[
"@author [Tech1024] <xxxxxx@163.com>",
"@datetime {{datetime}}"
]
}
{
"autocomplete": true,
"enable_auto_align": true,
"format_on_save": false,
"indent_with_space": 4,
"option": "value",
"passes":
[
"MergeElseIf"
],
"php_bin": "F:/program/phpStudy/php/php-7.0.12-nts/php.exe",
"psr1": true,
"psr1_naming": true,
"psr2": true,
"version": 3
}
格式化输出json,php版本要求5.4或更高
/**
* 浏览器友好的变量输出json格式
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为true 如果为false 则返回输出字符串
* @return void|string
* @author TechLee
*/
function ddj($var, $echo = true)
{
header('content-type:application/json;charset=utf8');
$output = json_encode($var, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
if ($echo) {
echo ($output);
return;
} else {
return $output;
}
}PHP输出变量函数print_r和var_dump,没有格式化,易读性太差
下面结合thinkphp礼包dump函数改进的
/**
* 浏览器友好的变量输出
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为true 如果为false 则返回输出字符串
* @param string $label 标签 默认为空
* @return void|string
* @author TechLee
*/
function ddp($var, $echo = true, $label = null, $flags = ENT_SUBSTITUTE)
{
$label = (null === $label) ? '' : rtrim($label) . ':';
ob_start();
var_dump($var);
$output = ob_get_clean();
$output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
if (!extension_loaded('xdebug')) {
$output = htmlspecialchars($output, $flags);
ssh-keygen -t rsa
可设置密码,也可一路回车就行
scp ~/.ssh/id_rsa.pub root@服务器IP地址:~/.ssh/authorized_keys
基础知识
一、RAID的定义
是Redundant Array of Independent Disks(独立磁盘冗余阵列),RAID就是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来的一个硬盘组(逻辑硬盘)。
软RAID:是通过软件实现多块硬盘冗余的.
硬RAID:是一般通过RAID卡来实现RAID的.
二、RAID0

三、RAID1

四、RDID5

五、RAID10(0+1)

六、基本命令
1、创立Raid:
Raid1 卷
mdadm -C /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
或mdadm -Cv /dev/md0 -l1 -n2 /dev/sdb1 /dev/sdc1
Radid5 卷
mdadm -C /dev/md5 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1
或mdadm -Cv /dev/md5 –l5 –n3 /dev/sdb1 /dev/sdc1 /dev/sdd1
2、查看raid
mdadm -D /dev/md0
mdadm --examine /dev/sdb1
或:
mdadm /dev/md0 --examine /dev/sdb1
3、停止raid
mdadm -S /dev/md0
4、激活raid
mdadm -A /dev/md0 /dev/sdd1 /dev/sdc1
5、替换设备:
mdadm /dev/md0 -f /dev/sdb0
把设备列为有问题
mdadm /dev/md0 -r /dev/sdb0
移除成员
mdadm /dev/md0 -a /dev/sdc0
添加成员
mdadm /dev/md0 --re-add /dev/sdc0
重新把最近移除的RAID成员重新添加到RAID中
6、扩容与缩减
mdadm -G /dev/md0 -n4
mdadm /dev/md5 -f /dev/sde1
mdadm /dev/md5 -r /dev/sde1
mdadm -G /dev/md5 --size=3
程序
保存在硬盘、光盘等介质中的可执行代码和数据
是静态保存的代码
进程
在CPU及内存中运行的程序代码
是动态执行的代码
父、子进程:每个进程可以创建一个或多个进程
ps命令
用途:查看静态的进程统计信息
格式:ps aux
ps -elf
使用ps命令工具时,要注意选项前是否有”-“引导符,例如”e“和”-e”选项的含义是有区别的
ps命令结合“aux”选项使用时,将显示系统中所有的进程信息
PID:该进程在系统中的数字ID号,在当前系统中是唯一的; %CPU:CPU占用百分比; %MEM:内存占用百分比
ps命令结合“-elf”选项使用时,将以长格式显示系统中所有的进程信息,包含更丰富的内容(其中PPID列表示进程的父进程的PID号)

定制属性
ps axo pid,comm,%cpu --sort=%cpu | tail -1
进程状态

常见进程状态

进程优先级决定了CPU对进程调度顺序.在Linux中,进程优先级受nice值(-20-19)影响,默认值为0,nice值越小,则进程对cpu的使用权越具有优先性
调整进程优先级的命令:
nice(启动进程时使用)
nice -n 5 vi
renice (对于已经启动的进程)
renice 9 1236
top命令
用途:查看动态的进程排名信息
切换到虚拟机环境演示ps(包括ps aux、ps –elf的用法)、top命令的使用,并讲解输出结果中的要点(CPU占用、内存占用等)
从用途上对比ps、top两个命令的不同,可适当介绍top工具的命令按键:P、M、N、h、q
按P键根据CPU占用情况对进程列表进行排序
按M键根据内存占用情况进行排序
按N键根据启动时间进行排序
按h键可以获得top程序的在线帮助信息
按q键可以正常退出top程序
使用空格键可以强制更新进程状态显示
pgrep命令
用途:根据特定条件查询进程PID信息
[root@localhost ~]# pgrep "init"
1
[root@localhost ~]# pgrep -l "log"
2538 syslogd
2541 klogd
3221 login
[root@localhost ~]# pgrep -l -U teacher -t tty1
27483 bash
27584 vim
pgrep命令
用途:根据特定条件查询进程PID信息
[root@localhost ~]# pstree -aup
init,1
├─acpid,2866
├─atd,3060
├─auditd,2516
│ ├─python,2518 /sbin/audispd
│ └─{auditd},2517
……
[root@localhost ~]# pstree -ap teacher
bash,27483
└─vim,27674 myfile.txt
手工启动
前台启动:用户输入命令,直接执行程序
后台启动:在命令行尾加入“&”符号
[root@localhost ~]# cp /dev/cdrom mycd.iso &
[1] 28454
调度启动
使用at命令,设置一次性计划任务
使用crontab命令,设置周期性计划任务
Ctrl+Z 组合键
将当前进程挂起,即调入后台并停止执行
jobs命令
查看处于后台的任务列表
fg命令
将处于后台的进程恢复到前台运行,需指定任务序号
[root@localhost ~]# jobs
[1]- Stopped cp /dev/cdrom mycd.iso
[2]+ Stopped top
[root@localhost ~]# fg 1
Ctrl+C组合键
中断正在执行的命令
kill、killall命令
kill用于终止指定PID号的进程
killall用于终止指定名称的所有进程
-9 选项用于强制终止
[root@localhost ~]# pgrep -l "portmap"
2869 portmap
[root@localhost ~]# kill -9 2869
[root@localhost ~]# killall -9 vim
[1]- 已杀死 /usr/bin/vim file1
[2]- 已杀死 /usr/bin/vim file2
pkill命令
用途:根据特定条件终止相应的进程
常用命令选项:
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
[root@localhost ~]# pgrep –l -U "hackli"
3045 bash
[root@localhost ~]# pkill -9 -U "hackli”
[root@localhost ~]# pgrep -l U "hackli”
DAC与MAC
1.DAC(Discretionary Access Control),主体是用户,访问目标文件由文件本身的权限决定,依进程运行时的用户身份决定其访问权限权限.
2.MAC(Mandatory Access Control),主体是进程,访问目标文件由策略决定.
SELinux配置文件 /etc/sysconfig/selinux
1.三种模式
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing --selinux的工作状态
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted --指定保护级别
2.设置selinux的模式
sestatus 查看SELinux状态
semodule -l 查看selinux加载的内核模块
getenforce 查询当前SELinx配置文件模式
setenforce 1 | 0 Enforcing | Permissive
3.SElinux的五种元素
ls -Z 查看文件的安全上下文
ps -Z 查看进程的上下文
id -Z 查看用户的上下文
User:role:type:sensitivity:category
User_u:object_r:tmp_t:s0:c0
4.selinux策略的控制文件 /selinux/booleans
getsebool [ -a ] 查看某个(所有)控制策略启用情况
setsebool [ -P ] 开启或者关闭某个策略,-P表示始终
5.例如查看samba的相关策略

下载安装VC14库,http://www.microsoft.com/en-us/download/details.aspx?id=48145
下载php,这里以php7.1为例,下载地址 http://windows.php.net/download#php-7.1 ,选择 VC14 x64 Non Thread Safe 。
解压到需要安装的目录,复制php.ini-development为php.ini
php.ini-development为开发环境配置文件模板,生产环境请使用php.ini-production
打开php.ini文件
设置时区,找到 ;date.timezone = ,去掉前面的‘;’号,改为date.timezone = PRC
开启常用扩展,找到; extension_dir = "ext",同样去掉前面的‘;’号。
找到;extension=php_bz2.dll 该行,该行以下均是扩展,去掉前面的‘;’号即可。
常用的扩展有:
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
浏览器打开http://localhost/ ,见到下面的页面,就成功啦 
windows10 开启hyper-v功能
打开hyper-v
开始菜单 - windows管理工具 - hyper-V管理器
安装Server2016
如需Server2016 iso镜像,请参考 http://www.aiweibk.com/6440.html
启动虚拟机
连接虚拟机
接下来我就不多说了,和安装windows10差不多的步骤
如需要激活请参考 http://www.aiweibk.com/5315.html
专业企业官网建设,塑造企业形象,传递企业价值
系统软件开发,用心思考,用心设计,用心体验
打破技术瓶颈,让不堪重负的项目起死回生
构建全渠道一体化运营能力,实现全链路数字化
文案撰写、营销策划,专注品牌全案
一站式解决企业互联网营销痛点和难题
以技术的力量,改变互联网
联系我们