Hyper-v安装Server 2016
windows10 开启hyper-v功能
打开hyper-v
开始菜单 - windows管理工具 - hyper-V管理器
安装Server2016
如需Server2016 iso镜像,请参考 http://www.aiweibk.com/6440.html
启动虚拟机
连接虚拟机
接下来我就不多说了,和安装windows10差不多的步骤
如需要激活请参考 http://www.aiweibk.com/5315.html
windows10 开启hyper-v功能
打开hyper-v
开始菜单 - windows管理工具 - hyper-V管理器
安装Server2016
如需Server2016 iso镜像,请参考 http://www.aiweibk.com/6440.html
启动虚拟机
连接虚拟机
接下来我就不多说了,和安装windows10差不多的步骤
如需要激活请参考 http://www.aiweibk.com/5315.html
Cannot send session cache limiter - headers already sent (output started at...) on line ...
在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark)
<?php if (isset($_GET['dir'])) { // config the basedir $basedir = $_GET['dir']; } else { $basedir = '.'; } $auto = 1; checkdir($basedir); function checkdir($basedir) { if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') { if (!is_dir($basedir . "/" . $file)) { // 如果是文件 echo "filename: $basedir/$file " . checkBOM("$basedir/$file") . " "; } else { $dirname = $basedir . "/" . $file; // 如果是目录 checkdir($dirname); // 递归 } } } closedir($dh); } } function checkBOM($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { // BOM // 的前三个字符的ASCII // 码分别为 // 239 // 187 // 191 if ($auto == 1) { $rest = substr($contents, 3); rewrite($filename, $rest); return (""); } else { return (""); } } else { return ("BOM Not Found."); } } function rewrite($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); }
at命令
一次性计划任务
服务脚本名称:/etc/init.d/atd
设置格式:at [HH:MM] [yyyy-mm-dd]
[root@localhost ~]# date 2011年 02月 21日 星期一 14:45:05 CST [root@localhost ~]# at 14:55 2011-02-21 at> pgrep -U root | wc -l > /tmp/ps.root at> job 1 at 2011-02-21 14:55 [root@localhost ~]# cat /tmp/ps.root 63
案例 | 在当天的21:30时自动关闭当前系统 |
root@localhost ~]# at 21:30 at> shutdown -h now at> job 7 at 2011-02-21 21:30
查看未执行任务列表
[root@localhost ~]# atq 1 2011-02-21 14:55 a root 2 2011-02-21 21:30 a root
删除第二条任务
[root@localhost ~]# atrm 2 [root@localhost ~]# atq 1 2011-02-21 14:55 a root
at计划任务 所在目录/var/spool/at
at的控制文件/etc/at.allow和 /etc/at.deny
===================================================================================
crontab命令
按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
启用周期性任务有一个前提条件,即对应的系统服务crond必须已经运行
全局配置和系统默认配置中的内容一般不需要用户去修改,用户只需设置/var/spool/cron/目录下与本帐号同名的文件即可,接下来介绍如何设置用户自己的计划任务
[root@localhost ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
管理cron计划任务
编辑计划任务:crontab -e [-u 用户名]
查看计划任务:crontab -l [-u 用户名]
删除计划任务:crontab -r [-u 用户名]
用户只需执行“crontab -e”命令后会自动调用文本编辑器(默认为vi)并打开“/var/spool/cron/用户名”文件,无需手动指定文件位置
时间数值的特殊表示方法
* 表示该范围内的任意时间
, 表示间隔的多个不连续时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率
应用示例
0 17 * * 1-5 周一到周五每天17:00
30 8 * * 1,3,5 每周一、三、五的8点30分
0 8-18/2 * * * 8点到18点之间每隔2小时
0 * */3 * * 每隔3天
示例1(root用户)
每天早上7:50自动开启sshd服务,22点50时关闭
每隔5天清空一次FTP服务器公共目录/var/ftp/pub
每周六的7:30时,重新启动httpd服务
每周一、三、五的17:30时,打包备份/etc/httpd目录
[root@localhost root]# crontab -e 50 7 * * * /sbin/service sshd start 50 22 * * * /sbin/service sshd stop 0 0 */5 * * /bin/rm –rf /var/ftp/pub/* 30 7 * * 6 /sbin/service httpd restart 30 17 * * 1,3,5 /bin/tar jcf httpdconf.tar.bz2 /etc/httpd/
示例2(jerry用户)
每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件
[root@localhost root]# crontab -e -u jerry 55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt
示例3:
root用户查看自己的计划任务列表
查看并删除jerry用户设置的计划任务
[root@localhost root]# crontab -l -u jerry 55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt [root@localhost root]# crontab -r -u jerry [root@localhost root]# crontab -l -u jerry no crontab for jerry [root@localhost root]#
Crontab安全性
默认情况下,所有用户都可使用cron工具,要限制对cron的访问,可以使用/etc/cron.allow与/etc/cron.deny文件。
1、这两个文件都不存在时,每个用户都可以访问cron工具。
2、若两个文件都存在,只有/etc/cron.allow中的用户可以访问cron工具,忽略/etc/cron.deny文件
3、如果/etc/deny文件不存在,则/etc/allow中的用户不可以访问cron工具。
NFS服务器
1.安装nfs-utils
yum -y install nfs-utils
2.创建需要共享的文件或目录
mkdir /test/share1 /test/share2 /test/share3
3.NFS配置文件
vi /etc/exports
4 .启动相关服务
service rpcbind start service nfs start
5.关闭防火墙
service iptables stop
6.查看当前主机的共享目录列表
showmount -e localhost exportfs -rv 使NFS服务器重新读取exports文件中的设置 exports -auv 停止当前主机中NFS服务器的所有目录输出
NFS客户端
1.安装nfs-utils
yum -y install nfs-utils
2 .启动相关服务
service rpcbind start service nfs start
3.查看指定主机共享目录信息
showmount -e 192.168.8.241
4.Linux客户端挂载NFS文件系统
5.系统启动自动挂载NFS文件系统
6.重新读取fstab文件,或者重启计算机
mount -a
7.查看挂载信息
df -T
mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。
PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.
/** * [AesSecurity aes加密,支持PHP7.1] */ class AesSecurity { /** * [encrypt aes加密] * @param [type] $input [要加密的数据] * @param [type] $key [加密key] * @return [type] [加密后的数据] */ public static function encrypt($input, $key) { $data = openssl_encrypt($input, 'AES-128-ECB', $key, OPENSSL_RAW_DATA); $data = base64_encode($data); return $data; } /** * [decrypt aes解密] * @param [type] $sStr [要解密的数据] * @param [type] $sKey [加密key] * @return [type] [解密后的数据] */ public static function decrypt($sStr, $sKey) { $decrypted = openssl_decrypt(base64_decode($sStr), 'AES-128-ECB', $sKey, OPENSSL_RAW_DATA); return $decrypted; } }
可据需求,自行改编。
php开发工具众多,主要有两类,一类是普通文本编辑器,另一类是集成开发工具(IDE)。
普通文本编辑器:
1、Sublime Text
2、微软的跨平台代码编辑器 visual studio code
3、Atom
4、还有notepad++,editplus,vi等等不再列举
集成开发工具(IDE)
1、zend官方的zend studio
2、JetBrains 公司的PhpStom
3、netbeans IED for php
4、eclipse for php
……
1、ThinkPHP 国人自己的
2、laravel 以优雅著称
3、Yii 快速、安全、专业 的 PHP 框架
4、zend framework zend自家的
5、Yaf(Yet Another Framework) 高性能的C语言编写的框架
6、phalcon使用 C 扩展编写、针对高性能优化的 PHP 框架
7、CodeIgniter、CakePHP、Symfony 等等
慕课网(IMOOC)是IT技能学习平台。慕课网(IMOOC)提供了丰富的移动端开发、php开发、web前端、android开发以及html5等视频教程资源公开课。并且富有交互性及趣味 性,你还可以和朋友一起编程。
云课堂是网易公司研发的一款大型在线教育平台服务,该平台面向学习者提供海量免费、优质课程,创新的个性化学习体验, 自由开放的交流互动环境。继网易公开课后,云课堂是网易公司在教育领域的又一重量级产品。
腾讯课堂-腾讯推出的专业在线教育平台,聚合大量优质教育机构和名师,下设职业培训、公务员考试、托福雅思、考证考级、英语口语、中小学教育等众多在线学习精品课程,打造老师在线上课教学、学生及时互动学习的课堂。腾讯课堂,学习成就梦想!
4、极客学院IT在线教育平台-中国专业的IT职业在线教育平台
极客学院作为中国专业IT职业在线教育平台,拥有海量高清IT职业课程,涵盖30+个技术领域,如Android,iOS ,Flash,Java,Python,HTML5,Swift,Cocos2dx等视频教程.根据IT在线学习特点,极客学院推出IT学习知识体系图,IT职业学习实战路径图,帮助IT学习者从零基础起步,结合IT实战案例演练,系统学习,助你快速成为IT优秀技术人才!
5、优酷学堂
优质课程、智能问答、趣味实践、随心笔记、教育、优酷公开课、计算机开发、交互视觉设计、Udacity、it、互联网、会计、视频教程、交流互动、免费、名师、实用、培训
一、express介绍
我们知道,php有thinkphp、laravel、yii、yaf等等一系列开源框架,java有spring、structs、Hibernate等,python有Django、webpy等,那么Node.js也有很大框架,比较主流的有express、koa框架,接下来我就选择express来开始学习。
npm 提供了大量的第三方模块,其中不乏许多 Web 框架,我们没有必要重复发明轮子,
因而选择使用 Express 作为开发框架,因为它是目前最稳定、使用最广泛,而且 Node.js 官
方推荐的唯一一个 Web 开发框架。
Express ( http://expressjs.com/ ) 除了为 http 模块提供了更高层的接口外,还实现了
许多功能,其中包括:
q 路由控制;
q 模板解析支持;
q 动态视图;
q 用户会话;
q CSRF 保护;
q 静态文件服务;
q 错误控制器;
q 访问日志;
q 缓存;
q 插件支持。
二、安装express
1、运行:npm install -g express
2、创建项目:express --view ejs blog
3、按照提示 cd blog && npm install
4、启动项目 SET DEBUG=blog:* & npm start
5、打开浏览器http://127.0.0.1:3000/,看到如下页面,表示express项目安装成功
三、express目录结构
app.js是项目的入口文件
routes是项目的路由文件目录
view是模板目录,根据上面的安装,我们是有模板引擎是ejs,该模板引擎通俗易懂。
一、环境说明
1、windows 10
2、node.js v6.10.3 LTS 下载地址 https://nodejs.org/en/
3、编辑器 sublime text 3
二、安装node.js
1、双击安装,一路下一步,安装完成。
2、cmd命令行 查看node.js版本:node --version ,如果出现版本号,说明安装成功,npm为nodejs的包管理工具,安装node的时候自动安装了npm。
三、Hello Node.js
1、建立一个名为 app.js 的文件,内容为:
//app.js var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('Node.js'); res.end('Hello World'); }).listen(3000); console.log("HTTP server is listening at port 3000.");
2、运行 node app.js 命令,
打开浏览器访问 http://127.0.0.1:3000
四、到此,node.js环境就配置完成了
专业企业官网建设,塑造企业形象,传递企业价值
系统软件开发,用心思考,用心设计,用心体验
打破技术瓶颈,让不堪重负的项目起死回生
构建全渠道一体化运营能力,实现全链路数字化
文案撰写、营销策划,专注品牌全案
一站式解决企业互联网营销痛点和难题
以技术的力量,改变互联网
联系我们