Thinkphp 5.0 lnmp rewrite 配置文件

server
{
	listen 80;
	#listen [::]:80;
	server_name domain.com;
	index index.php index.html;
	access_log off;

	set $root /home/wwwroot/domain.com/admin_v1/public;
	location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
	{
		root $root;
	}

	root $root;

	location @rewrite {
		rewrite ^(.*)$ index.php/$1 last;
	}

	location / {
		if ( !-e $request_filename) {
			rewrite ^(.*)$ /index.php/$1 last;
		break;
		}
	}

	location ~ [^/]\.php(/|$)
	{
		fastcgi_pass unix:/tmp/php-cgi.sock;
		fastcgi_index index.php;
		include fastcgi.conf;
		include pathinfo.conf;
	}
}

C Primer Plus 第五版笔记 – 第五章 运算符、表达式和语句

摘要


关键字:while, typedef

运算符: = – * / % ++ — (type)

C的各种各种的运算符,其中包括用于普通数学运算的运算符

运算符的优先级以及术语“语句”和“表达式”的含义

简单的while循环

复合语句、自动类型转换和类型指派

如何编写带有参数的函数

一、循环语句


// shoes2.c — 计算多个鞋子尺码对应的英寸长度
#include <stdio.h>
#define ADJUST
#define SCALE 0.325

int main(void)
{
   double shoe,foot;
   printf("Shoe size (men's) foot length\n");
   shoe = 3.0;
   while(shoe < 18.5)
   {
       foot = SCALE * shoe + ADJUST;
       printf("%10.1f %15.2f inches\n", shoe, foot);
       shoe = shoe + 1.0;
   }
   printf("if the shoe fits, wear it.\n");
   return 0;
}

 

C Primer Plus 第五版笔记 – 第四章:字符串和格式化输入/输出

示例代码:

// tailback.c — 一个提供一些信息的对话程序
#include <stdio.h>
#include <string.h>
#define DENSITY 62.4
int main()

{
    float weight, volume;
    int size, letters;
    char name[40];
    
    printf("Hi! What's your name?\n");
    scanf("%s", name);
    printf("%s, what's your weight in pounds?\n", name);
    scans("%f", &weight);
    size = sizeof name;
    letters = strlen(name);
    volume = weight /DENSITY;
    printf("Well, %s your volume is %2.2f cubic feet.\n", name, volume);
    printf("Also, your first name has %d letters,\n", letters);
    printf("and we have %d bytes to store it in.\n", size);
    return 0;
}

C Primer Plus 第五版笔记 – 第三章:数据和C

示例程序

//rhodium.c —- 用金属铑测量你的体重
#include <stdio.h>
int main (void)
{
    float weight;
    float value;
    printf("Are you worth your weight in rhodium?\n");
    printf("Let's check it out.\n");
    printf("Please enter your weight in pounds: ");
    /* 从用户处输获取输入 */
    scanf("%f", &weight);
    /* 假设铑为每盎司 770 美元*/
    value = 770 * weight * 14.5833;
    printf("Your weight in rhodium is worth $%.2f.\n", value);
    printf("You are easily worth that! If rhodium prices drop. \n");
    printf("Eat more to maintain your value.\n");
    return 0;
}

2、变量与常量数据
变量与常量的区别在于,变量的值可以在程序执行中变化与指定,常量不可以。

3、数据类型关键字

位、字节和字:最小的存储单位为位(bit)。

字节是常用的计算机存储单位,几乎对于所有的机器,一个字节对应8个bit

整数型与浮点数类型

1、整数就是没有小数部分的数, 以二进制方式存储

2、浮点数差不多可以和数学中的实数概念相对应

C数据类型

1、int类型:  ISO/ANSI C 规定int类型的最小范围是-32768到32767.

2、八进制和十六进制

其他数据类型

short int、long int 、long long int 、unsigned int

目前一般的情况是:long long类型是64位,long类型是32位, short类型是16位,int类型位16或32位(以机器上的自然字大小而定). 但原则上,这四种类型代表4个不同的大小的数值。

C标准规定 , float类型必须至少表示6位有效数字,取值范围是10e-37到10e37. 6位有效数字指至少能精确表示像33.333333这样的数字前6位。 通常,系统使用32位存储一个浮点数。其中8位用于表示指数和符号,24位勇于表示非指数的部分(称为尾数或者有效数字)及其符号。

double 双精度浮点类型:double类型和float类型具有相同的最小取值范围要求,但它必须至少能表示10位有效数字。一般的,double使用64位而不是32位长度。

 

 

C Primer Plus 第五版笔记 – 第二章:C语言概论

C语言的一个简单实例

#include <stdio.h>

int main (void)
{
    int num;
    num = 1;
    printf("I am a simple");
    printf("computer.\n");
    printf("My favorite number is %d because it is first.\n", num);
    return 0;
    
}

程序细节

1、#include 指示和头文件

include 是C预处理器指令。通常C编译器在编译前要对源代码做一些准备工具,这称为预处理。

2、main()函数

main()函数是C语言的基本模块

3、注释

/* 注释 */
# 注释

4、花括号,程序体和代码块
所有的c函数都是用花括号来表示函数体的开始和结束。

5、声明

int num;

声明语句是c语言中最重要的功能之一。
单词int 是c语言的一个关键字,它代表c中最基本的一个数据类型。

语法错误:C的语法错误是指把正确的C符号放在了错误的位置

语义错误在C中,当你遵循了C语言的规则,但是结果不正确,就是烦了语义错误

C Primer Plus 第五版笔记 – 第一章:概览

c语言的起源

使用C语言的理由

  • 设计特性
  • 高效性
  • 可移植性
  • 强大的功能和灵活性
  • 面向编程人员

C语言的工作原理

它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。CPU有自己的小工作区,该工作区由若干个寄存器组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU使用该信息获取下一条指令的地址,获取一条执行后,CPU在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一个指令的地址.CPU只能理解有限的指令(指令集)。

高级计算机语言和编译器
编译器:
将高级语言程序解释成计算机所需的详细机器语言指令集的程序。

链接器:将目标代码、系统的标准启动代码和库代码集合在一起,并将他他们存放在单个文件。即可执行文件。对于库代码来说,链接器只从库中提取您所使用的函数所需要的代码。

使用c语言的7个步骤

  • 定义程序目标
  • 程序设计
  • 编写代码
  • 编译
  • 运行程序
  • 测试和调试程序
  • 修改和维护程序

编程机制

1、目标代码文件、可执行文件和库

目标文件和可执行文件都是由机器语言指令组成的,但是目标文件只包含您所编写的代码转换成的机器语言,而可执行文件还包含您所使用的库例程以及启动代码的机器代码

2、linux系统

3、unix系统

4、windows集成开发环境

5、IBM PC的DOS编译器

6、Macintosh 上的 C

语言标准

1、ANSI/ISO C 标准

2、C99标准

 

裸猿三部曲之人类动物园

1. 类别:人类学 社会学
2. 一句话概括:现代人的出路及困境
3. 本书结构:
1. 第一章 原始部落与超级部落
1. 论述人类社会在空间规模上的扩展,利弊同在,生存压力和创造能力都在论述之列
2. 微型部落 – 小型城邦 – 大城市和帝国 – 国家和大都会
1. 大城市的好处:丰裕的物质文明,人类思想的孵化场
2. 大城市的弊端:物质生活和精神的压力,社会关系和地位之争的压力

2. 第二章 社会地位与超级地位
1. 领袖人物确保领导地位的10条金科玉律
1. 你必须要清楚展示凌然在上的仪表、体态和姿势
2. 在激烈对抗的时刻,你必须要以攻击的姿态威慑你的下属
3. 在身体受到挑战的时刻,你(或你的代表)必须要能压倒发起挑战的下属
4. 如果挑战者用的是脑力而不是蛮力,你必须能智胜发起挑战的下属
5. 下属争吵时,你必须予以平息
6. 你必须要犒赏直接下属,允许其享受高位者的特权
7. 你必须要保护弱小的下属,使之免受迫害
8. 群体的社会活动必需由你决策
9. 必要时,你要安抚最底层的下属
10. 你必须要主动进攻,挫败外来的威胁或攻击
2. 坚定不移、雷厉风行的决策,比照正确的决策更加重要
3. 第三章 性行为与超级性行为
1. 性行为的生育功能和非生育功能
2. 10种性功能
1. 性行为的生育功能
2. 性行为的结偶功能
3. 性行为的配偶维护功能
4. 性行为的生理功能
5. 性行为的探索功能
6. 性行为的自偿功能
7. 性行为的解闷功能
8. 性行为的镇静功能
9. 性行为的商业功能
10. 性行为的地位展示功能
3. 性行为的其他功能和模式:婚外性行为、同性恋、性虐狂、强奸
4. 现代都市人的行为已然成为超级性行为
5. 10种性功能的相互关系
4. 第四章 内群体与外群体
1. 领地欲的源头,指出三种守护捍卫的对象 – 自己、家庭和自己的部落
2. 亮点一:非理性攻击性产生的过程
1. 看那个绿头发的人,他在打小孩
2. 这个绿头发的人是恶棍
3. 所有绿头发的人都是恶棍
4. 绿头发的人逢人就打
5. 那里有一 个绿头发的人,趁他动手之前快打他(那个绿头发的人并没有挑逗,他不得不自卫)
6. 你瞧 我说得对:绿头发的人都是恶棍
7. 你要打所有绿头发的人
3. 亮点二:暴力和战争的十大因素
1. 固定领地的出现
2. 部落膨 胀为人口过剩的超级部落
3. 远距离杀人武器的发明
4. 首领不必冲在战场上的第一线
5. 以 杀戮为业的阶级的产生
6. 群体间技术发展的不均等
7. 群体内部因争夺地位而受挫的压抑与日俱增
8. 领袖人物争夺群际地位的需要
9. 在超级部落里社会认同的失落
10. 帮助受攻击朋友的合作欲望
4. 亮点三:西方人处于种族偏见对非洲文明的蹂躏
5. 亮点四:对人口爆炸和战争危险发出严重警告哦
5. 第五章 印记与错误烙印
1. 创伤性学习
1. 错误烙印的表现:早恋,关系紊乱,恋物癖,同性恋
2. 一般性学习
3. 接触性学习
6. 第六章 寻求刺激与控制刺激
1. 论述寻求刺激与控制刺激的平衡及过度刺激与过少刺激的平衡,论述平衡两种极端的中庸之道
2. 人在寻求刺激的人生斗争中所必需遵循的六条基本原理
1. 如果刺激太弱,你可以提出一些不必要却又能解决的问题,借以增加你的行为输出。为便于读者理解,我不妨称之为“无事找事”原理。“无事找事”原理的例子有家庭主妇
2. 如果刺激太弱,你可以对一般的刺激作出过度的反应,借以增加你的行为输出。我建议称之为“放纵原理”。“放纵原理”的例子有吮手指、咬指甲、喝闷酒、猛酗酒、狂抽烟等。
3. 如果刺激太弱,你可以发明新的活动,借以增加你的行为输出。我们不妨称之为“创新原理”。“创新原理”的例子有捉迷藏、玩游戏、研究科学、听交响乐、朗诵诗歌、看芭蕾舞、观赏艺术作品等
4. 如果刺激太弱,你可以对低于正常的刺激作出正常的反应,借以增加你的行为输出。我们可以称之为“外溢原理”或“聊胜于无”的原理。“外溢原理”就是在“风平浪静的港湾”里寻求刺激。例子有兽交行为、同性恋等,这是在刺激缺失的情况下“聊胜于无”的补偿行为。
5. 如果刺激太弱,你可以人为放大你挑选的刺激,借以增加你的行为输出。我想称之为“超常刺激”原理。“超常刺激”原理包括“刺激极端性原理 ”,要者有:整容、化妆品、衣饰、时装、春药等增强性刺激和性魅力的手段
6. 如果刺激太强,你可以减少对输入感知的反应,借以减少你的行为输出。我们可以称之为“削减刺激”原理。
1. “削减刺激”原理之下有两个亮点,一是减少刺激的“化学助梦法” (Chemical Dreaming)
2. 二是变相的做梦即“禅定助梦法”(Meditation Dreaming)
7. 第七章 永不泯灭的童心
1. 探索的二分观念:恐惧中的探索(panic exploration)就是灾难中寻求战胜灾难的探索;安稳中的探索(security exploration)就是安稳是力求大展宏图的探索。
2. 人生创造性的三段论述:儿童 成人 童心未泯的成人的探索各有不同。
3. “超级部落人”不可能再回规“部落人”的“淳朴”生活:保存爱斯基摩人和澳洲土著的生活方式 是空想,空想主义者试验“原始共产主义”的生活注定要失败。
4. 现代教育的“考 试”和其他“考验”未必有利于创新精神的培养。日益膨胀、高度分割、千篇一律的教育模式令人窒息,犹如禁锢人脑的桎梏。
5. 成人童心未泯,但具有颠峰创造力的成人毕竟是少数。

KVM中宿主机通过console无法连接客户机

virsh # console test
Connected to domain test
Escape character is ^]

敲任何键都没反应,大致设置如下:

添加ttyS0:

echo “ttyS0″ >> /etc/securetty

在/etc/grub.conf文件中为内核添加参数:

console=ttyS0

在/etc/inittab中添加agetty:

S0:12345:respawn:/sbin/agetty ttyS0 115200

重启客户机:

reboot
此时,再次尝试console命令可以正常使用:


virsh # console test
Connected to domain test
Escape character is ^]
…………………………………………………………………………
…………………………………………………………………………

使用oz制作镜像

1、安装软件包

# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install -y oz libguestfs-tools

2、修改配置文件(默认即可)

需要注意的是,制作出来的镜像,不管是raw格式还是qcow2格式,都是不经过压缩的,具体往下看

 # cat /etc/oz/oz.cfg 
[paths]
output_dir = /var/lib/libvirt/images
data_dir = /var/lib/oz
screenshot_dir = /var/lib/oz/screenshots
# sshprivkey = /etc/oz/id_rsa-icicle-gen

[libvirt]
uri = qemu:///system
image_type = qcow2
#image_type = raw
# type = kvm
# bridge_name = virbr0
# cpus = 1
# memory = 1024

[cache]
original_media = yes
modified_media = no
jeos = no

[icicle]
safe_generation = no

3、定义tdl文件

cat centos6.6.ks
<template>
<name>centos66_x86_64</name>
<description>Centos 6.6 x86_64 template</description>
<os>
<name>CentOS-6</name>
<version>6</version>
<arch>x86_64</arch>
<rootpw>root</rootpw>
<install type='iso'>
<iso>file://///iso/CentOS-6.6-x86_64-bin-DVD1.iso</iso>
</install>
</os>
<disk>
   <size>20</size>
</disk>
<commands>
<command name='update'>
sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i '/^UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth0
echo -n > /etc/udev/rules.d/70-persistent-net.rules
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
</command>
</commands>
</template>

4、定义ks文件

# cat centos_6.6.tdl 
install
text
key --skip
keyboard us
lang en_US.UTF-8
skipx
network --device eth0 --bootproto dhcp
rootpw hscloud
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
zerombr yes
clearpart --all

part /boot --fstype ext4 --size=500
part /     --fstype ext4 --size=15000
part swap  --fstype swap --size=4096
reboot

%packages
@base
@core
%post

EOF

5、开始制作

# oz-install -p -u -d3 -a centos6.6.ks centos_6.6.tdl

6、镜像对比

qcow2

# qemu-img info centos66_x86_64.qcow2 
    image: centos66_x86_64.qcow2
    file format: qcow2
    virtual size: 20G (21474836480 bytes)
    disk size: 1.5G
    cluster_size: 65536

raw

# qemu-img info centos66_x86_64_raw.dsk 
    image: centos66_x86_64_raw.dsk
    file format: raw
    virtual size: 20G (21474836480 bytes)
    disk size: 1.5G

原文地址:http://blog.csdn.net/linglong102/article/details/46333379