- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
centos安装桌面和vnc之后还是无法连接在一次实验中,一不小心遇到了这个问题,我这里记录一下。我实验的内容是给最小化安装的centos安装桌面和vnc,安装之后发现,各种排查安装步骤。没有找到问题。上网查阅很多资料之后发现是我的启动级别不对。应该使用init 5我这里就顺带说一下各个启动级别init 0:关机 init 1:单用户模式 init 3:完全多用户模式,标准的运行级 init 5:启动可进入X-window系统init 6:重启init 4:据说是安全模式,我也没有用过我们如何设置呢,其实这样就可以,如下图将3改为我们需要的,然后重启。vi /etc/inittab
新建文件时,所在文件系统还有大量剩余空间,却提示此文件系统空间已满??这是很有可能是因为该文件所在分区的inode号被用尽,虽然分区的剩余容量还有很多。df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/dev01-root 4964352 4964352 0 100% / udev 503779 440 503339 1% /dev tmpfs 506183 353 505830 1% /run none 506183 5 506178 1% /run/lock none 506183 2 506181 1% /run/shm /dev/sda1 124496 255 124241 1% /bootinodes 占用100%,果然是这个问题。解决方法:删除无用的临时文件,释放inode。查找发现 /tmp 目录下有很多sess_xxxxx的 session临时文件。 copyls -lt /tmp | wc -l 4011517进入/tmp目录,执行find -exec命令 copysudo find /tmp -type f -exec rm {} \; 如果使用rm *,有可能因为文件数量太多而出现Argument list too long错误,关于Argument list too long错误可以参考《linux Argument list too long错误解决方法》除了/tmp的临时文件外,0字节的文件也会占用inode,应该也释放。遍历寻找0字节的文件,并删除。 view plain copysudo find /home -type f -size 0 -exec rm {} \; 删除后,inode 的使用量减少为19%,可以正常使用了。 copydf -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/dev01-root 4964352 940835 4023517 19% / udev 503779 440 503339 1% /dev tmpfs 506183 353 505830 1% /run none 506183 5 506178 1% /run/lock none 506183 2 506181 1% /run/shm /dev/sda1 124496 255 124241 1% /boot
[root@localhost ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,\ > sysconfig/network-scripts},\ > lib/modules,lib64,proc,sbin,sys,tmp,usr/local{bin,sbin},\ > var/{lock,log,run}} mkdir: 已创建目录 "/tmp/mylinux" mkdir: 已创建目录 "/tmp/mylinux/bin" mkdir: 已创建目录 "/tmp/mylinux/boot" mkdir: 已创建目录 "/tmp/mylinux/boot/grub" mkdir: 已创建目录 "/tmp/mylinux/dev" mkdir: 已创建目录 "/tmp/mylinux/etc" mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d" mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d" mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig" mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts" mkdir: 已创建目录 "/tmp/mylinux/lib" mkdir: 已创建目录 "/tmp/mylinux/lib/modules" mkdir: 已创建目录 "/tmp/mylinux/lib64" mkdir: 已创建目录 "/tmp/mylinux/proc" mkdir: 已创建目录 "/tmp/mylinux/sbin" mkdir: 已创建目录 "/tmp/mylinux/sys" mkdir: 已创建目录 "/tmp/mylinux/tmp" mkdir: 已创建目录 "/tmp/mylinux/usr" mkdir: 已创建目录 "/tmp/mylinux/usr/localbin" mkdir: 已创建目录 "/tmp/mylinux/usr/localsbin" mkdir: 已创建目录 "/tmp/mylinux/var" mkdir: 已创建目录 "/tmp/mylinux/var/lock" mkdir: 已创建目录 "/tmp/mylinux/var/log" mkdir: 已创建目录 "/tmp/mylinux/var/run" [root@localhost ~]#若提示找不到tree命令,需要安装tree,直接yum安装sudo yum -y install tree[root@localhost ~]# tree /tmp/mylinux/ /tmp/mylinux/ ├── bin ├── boot │ └── grub ├── dev ├── etc │ ├── rc.d │ │ └── init.d │ └── sysconfig │ └── network-scripts ├── lib │ └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │ ├── localbin │ └── localsbin └── var ├── lock ├── log └── run 23 directories, 0 files [root@localhost ~]#
1、重定向在Linux中有时我们在命令的执行过程中,不想将执行结果显示到屏幕上,或者将其结果输出到其他位置 这时就需要重定向来解决这个问题了 首先了解一下Linux中的3种I/O设备: 0:标准输入 1:标准输出 2:标准错误输出 输出重定向:> >> 输入重定向: < << >:将标准输出重定向到文件 echo "Hello" > /app/test.tab 2>:将标准错误输出重定向到文件 ls /etc /error > /app/test.tab 2> /app/error.tab &>:将所有输出重定向到文件 ls /etc /error &> /app/test.tab >>:将标准输出追加重定向到文件 2>>:将标准错误输出追加到文件 &>>:将所有标准输出追加到文件 <:标准输入重定向(单行重定向) <<:(多行重定向)eg:有些命令能够通过输入重定向接受来自文件的输入 wc -l < /etc/motd 统计motd文件的行数 mail -s "help" root << eof 此命令是给root用户发送一个邮件,其中指定多行重定向的终止符eof(也可是其它)来 指定退出时的终止符 >please help me >thanks >eof2、管道符号 "|" ,用来连接命令 CMD1 | CMD2 | CMD3 | … (1)将CMD1的标准输出传给CMD2,CMD2的标准输出输出再发给CMD3 (2)默认情况下标准错误输出不能通过管道转发,通过2>&1或|&来实现eg: [root@Centos6 ~]#cat /etc/issue /error 2>&1 | sort cat: /error: No such file or directory CentOS release 6.9 (Final) Kernel \r on an \m(3)最后一个命令会在当前shell进程的子shell进程中执行3、”-“符号在管道中"-"可以用来代替之前命令标准输出eg: tar -cvf - /app | tar -xvf - 将/app下的文件打包,打包后不记录到文件里,而是传到标准输出在经管道传给后面的 解包命令4、tee 命令 重定向到多个目标有时我们在使用管道时需要将不同阶段的数据输出到屏幕上,而还要将数据向下传递,我们就需要用到tee命令eg: [root@Centos6 ~]#ls | tee | tr "a-z" "A-Z"
linux中一切皆文件,文件有权限,所有者,所属组,大小等属性。文件所有者是指创建文件的用户,所属组是指创建文件的用户属于哪一个主要的组(用户的主组只能有一个)。 用户对文件进行各种操作的前提是有相应的权限,所以有些文件我们只能读,不能写,而有些文件既可以读写,还可以更改内容,下面就来总结一下文件的权限以及如何修改权限。一.文件的权限 总体来讲,分为三种:读(r),写(w),执行(x)。文件权限的相关分配:1.普通文件:r………………..可以查看文件的内容及类型w………………可以修改文件的内容x……………….可以运行文件(例如bin下的二进制文件)2.文件夹(目录)r……………….可以查看目录中的文件列表w………………可以对目录下的文件进行修改,例如新建文件,删除文件(需要与执行权限配合,只有读权限没有意义)x……………….文件的基础权限,可以进入目录,可以查看目录内文件的元数据(需要与读权限配合)二.修改文件的权限 通过修改文件的权限,可以对文件进行相应的操作,以达到管理文件的目的。这里需要划分两种身份,普通用户和管理员(root)。普通用户只能对自己的文件进行权限修改,而root用户可以修改任意文件。修改文件权限的方法分为两种:模式法与数字法。1.模式法命令:chmod格式:chmod who opt per file其中who是指要修改权限的身份,分为所有者(u),所属组(g),其他(o),a 表示所有人(ugo)。opt表示操作的类型,分为增加权限(+),减去权限(—),赋予权限(=),赋予权限会将原有的权限覆盖。per代表相应的权限(rwx)。例如:用户访问文件得到权限的过程:若为所有者,直接匹配权限;若为所属组的成员,匹配所属组的权限,若都不是,匹配最后的权限。还有X(大写),它的作用是只对目录加执行权限,不对目录中的文件加执行权限。(对文件随意加执行权限有危险性)例如: 对于root用户来说,读写权限失效,root可以随时读写,但执行权限有效,没有执行权限,root用户也不能执行文件。2.数字法数字法就是将权限转化为相应的数字,其中读(r)对应数字4,写(w)对应2,执行(x)对应1。例: 数字法中,只要有奇数,就代表有执行权限,只有偶数代表没有执行权限。 linux中默认新建的文件没有执行权限,所以文件的最大权限为666,而默认目录的最大权限为777.
示例:ping -c 5 www.landui.com 向www..landui.com发送5个包看看是否有连通 [root@localhost ~]# ping -c 5 www.landui.com PING www.landui.com (183.60.110.171) 56(84) bytes of data. 64 bytes from 183.60.110.171: icmp_seq=1 ttl=55 time=33.0 ms 64 bytes from 183.60.110.171: icmp_seq=2 ttl=55 time=32.8 ms 64 bytes from 183.60.110.171: icmp_seq=3 ttl=55 time=32.8 ms 64 bytes from 183.60.110.171: icmp_seq=4 ttl=55 time=33.0 ms 64 bytes from 183.60.110.171: icmp_seq=5 ttl=55 time=33.0 ms --- www.landui.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4036ms rtt min/avg/max/mdev = 32.821/32.963/33.088/0.196 ms也可以默认,一直ping,需手动停止ping www.landui.com
Apache 的 httpd.conf 详解## Apache服务器主配置文件. 包括服务器指令的目录设置.# 详见 <URL:http://www.apache.org/docs/> ## 请在理解用途的基础上阅读各指令。## 再读取此文档后,服务器将继续搜索运行# E:/Program Files/Apache Group/Apache/conf/srm.conf # E:/Program Files/Apache Group/Apache/conf/access.conf# 除非用ResourceConfig或AccessConfig覆盖这儿的标识## 配置标识由三个基本部分组成:# 1. 作为一个整体来控制Apache服务器进程的标识 (the ‘global environment’).# 2. 用于定义主(默认)服务器参数的标识。# 响应虚拟主机不能处理的请求。# 同时也提供所有虚拟主机的设置值。# 3. 虚拟主机的设置。在一个Apache服务器进程中配置不同的IP地址和主机名。## 配置和日志文件名:指定服务器控制文件命名时,# 以 “/” (或 “drive:/” for Win32)开始,服务器将使用这些绝对路径。# 如果文件名不是以”/”开始的,预先考虑服务器根目录–# 因此 “logs/foo.log”,如果服务器根目录是”/usr/local/apache”,# 服务器将解释为 “/usr/local/apache/logs/foo.log”.## 注: 指定的文件名需要用”/”代替”\”。# (例, “c:/apache” 代替 “c:\apache”).# 如果省略了驱动器名,默认使用Apache.exe所在的驱动器盘符# 建议指定盘符,以免混乱。#### 部分 1: 全局环境## 本部分的表示将影响所有Apache的操作# 例如,所能处理的并发请求数或配置文件地址### ServerType 可取值 inetd 或 standalone. Inetd 只适用于Unix平台#ServerType standalone## ServerRoot: 目录树的根结点。服务器配置、出错信息、日志文件都保存在根目录下。## 不要再目录末尾加”/”#ServerRoot “C:/Program Files/Apache Group/Apache”## PidFile: 服务器用于记录启动时进程ID的文件。#PidFile logs/httpd.pid## ScoreBoardFile: 用于保存内部服务器进程信息的文件。# 并非必须。 但是如果指定了(此文件当运行Apache时生成)# 那么必须确保没有两个Apache进程共享同一个scoreboard文件。#ScoreBoardFile logs/apache_runtime_status## 在标准配置下,服务器将顺序读取 httpd.conf(此文件可通过命令行中-f参数指定),# srm.conf 和 access.conf。 # 目前后两个文件是空的。为了简单起见,建议将所有的标识放在一个文件中。 # 以下两条注释的标识,是默认设置。# 要让服务器忽略这些文件可以用 “/dev/null” (for Unix) # 或”nul” (for Win32) 作为参数。##ResourceConfig conf/srm.conf#AccessConfig conf/access.conf## Timeout: 接受和发送timeout的时间#Timeout 300## KeepAlive: 是否允许保持连接(每个连接有多个请求)# “Off” -无效#KeepAlive On## MaxKeepAliveRequests: 每个连接的最大请求数。# 设置为0表示无限制# 建议设置较高的值,以获得最好的性能。#MaxKeepAliveRequests 100## KeepAliveTimeout: 同一连接同一客户端两个请求之间的等待时间。#KeepAliveTimeout 15## 在Win32下,Apache每次产生一个子进程来处理请求。# 如果这个进程死了,会自动产生另一个子进程。# 所有的进入请求在子进程中多线程处理。# 以下两个标识控制进程的运行### MaxRequestsPerChild: 每个子进程死亡之前最大请求数# 如果超过这个请求数,子程序会自动退出,避免延期使用导致内存溢出或其他问题。# 大部分系统,并不需要此设置,# 但是部分,象Solaris,确实值得注意。# 对Win32, 可设置为0 (无限制)# 除非有另外的考虑。## 注: 此值不包括在每个连接初始化请求后,”keptalive”请求# 例如, 如果一个子进程处理一个初始化请求和10个后续”keptalive”请求,# 在这个限制下,只会记为一个请求。#MaxRequestsPerChild 0## ThreadsPerChild: 服务器所允许的并发线程数。# 此值的设置取决于服务器的响应能力(约多的请求在同一时间激活,则每个请求的处理时间越慢)# 和服务器所允许消耗的系统资源。#ThreadsPerChild 50## Listen: 允许将Apache绑顶到指定的IP地址和端口,作为默认值的辅助选项。# 参见 <VirtualHost>##Listen 3000#Listen 12.34.56.78:80## BindAddress: 通过此选项可支持虚拟主机。# 此标识用于告诉服务器监听哪个IP地址。# 包括:”*”, IP地址, 或域名.# 参见 <VirtualHost> 和 Listen directives.#BindAddress 166.111.178.144## Apache模块编译成标准的Windows结构。## 以下模块绑定到标准的Apache二进制windows分布。# 要修改标准操作,取消以下行的注释并且修改指定模块列表。 ## 警告:这是高级选项。可能导致服务器崩溃。# 没有专家的指导,不要轻易修改。##ClearModuleList#AddModule mod_so.c mod_mime.c mod_access.c mod_auth.c mod_negotiation.c#AddModule mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_userdir.c#AddModule mod_alias.c mod_env.c mod_log_config.c mod_asis.c mod_imap.c#AddModule mod_actions.c mod_setenvif.c mod_isapi.c## 动态共享对象(Dynamic Shared Object,DSO) ## 要使用基于DSO的功能模块,需要替换此处相应的# `LoadModule’ 行。这样在使用之前这些包含的标识都将生效。# 有关DSO及至的详细资料请看Apache1.3版中的README.DSOSO。# 运行”apche -l”将列表显示Apache内奸的模块(类似标准的连接已经生效)## 注:模块载入的顺序很重要。没有专家的建议,不要修改以下的顺序。##LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll#LoadModule dbm_auth_module modules/ApacheModuleAuthDBM.dll#LoadModule digest_auth_module modules/ApacheModuleAuthDigest.dll#LoadModule cern_meta_module modules/ApacheModuleCERNMeta.dll#LoadModule digest_module modules/ApacheModuleDigest.dll#LoadModule expires_module modules/ApacheModuleExpires.dll#LoadModule headers_module modules/ApacheModuleHeaders.dll#LoadModule proxy_module modules/ApacheModuleProxy.dll#LoadModule rewrite_module modules/ApacheModuleRewrite.dll#LoadModule speling_module modules/ApacheModuleSpeling.dll#LoadModule info_module modules/ApacheModuleInfo.dll#LoadModule status_module modules/ApacheModuleStatus.dll#LoadModule usertrack_module modules/ApacheModuleUserTrack.dll## ExtendedStatus 在服务器状态句柄被呼叫时控制是产生“完整”的状态信息(ExtendedStatus On)# 还是仅返回基本信息(ExtendedStatus Off)# 默认是:Off##ExtendedStatus On### 部分 2: 主服务器配置## 此部分的标识用于主服务器所有的设置值,# 响应任何<VirtualHost>定义不处理的请求# 这些值同时给你稍后在此文件中定义的<VirtualHost>提供默认值。## 所有的标识可能会在<VirtualHost>中出现。# 对应的默认值会被虚拟主机重新定义覆盖。### Port: Standalone服务器监听的端口。 # 在Apache能够监听指定端口前,需要在防火墙中进行设置。# 其它运行httpd的服务器也可能影响此端口。 Disable# 如果遇到问题,请关闭所有的防火墙、安全保护和其他的服务。# Windos NT的”NETSTAT -a”指令会有助于问题的分析。#Port 80## ServerAdmin: 你的地址。如果服务器有任何问题将发信到这个地址。# 这个地址会在服务器产生的某些页面中出现,例如,错误报告。#ServerAdmin chenyl98@mails.tsinghua.edu.cn## ServerName 允许设置主机名。如果与程序获得的不同,主机名将返回客户端。# (例如,用”www”代替主机真实的名字)## 注: 主机名不能随便指定。必须是你的机器有效的DNS名称。否则无法正常工作。# 如果不能理解,倾向你的网络管理员询问。# 如果你的主机没有注册DNS名,可在此输入IP地址。# 此时必须用IP地址来访问。(如, http://123.45.67.89/)# 这样扔可以完成重新定向的工作。## 127.0.0.1 是TCP/IP的本地环路地址, 通常命名为localhost. # 机器默认此地置为本身。 如果只是使用Apache来进行本地测试和开发, # 可使用127.0.0.1 作为服务器名.##ServerName new.host.name## DocumentRoot: 放置服务文档的目录。# 默认状态下,所有的请求都以这个目录为基础。# 但是直接符号连接和别名可用于指向其他位置。#DocumentRoot “D:/www_root”## Apache访问的每个目录可设置相关的服务和特性是允许或(和)不允许。# (同样影响其子目录) ## 首先,设置”default”地址只有最基本的权限。#<Directory /> Options FollowSymLinks AllowOverride None</Directory>## 注意从现在开始必须制定开启特殊的权限。# 这样就不会产生意想不到的结果。# 请仔细确认。### 这个地址应与DocumentRoot保持一致#<Directory “D:/www_root”>## 此值可是: “None”, “All”, 或下列的组合: “Indexes”,# “Includes”, “FollowSymLinks”, “ExecCGI”, 或 “MultiViews”.## 注意”MultiViews”必须明确指定— “Options All”不包括此特性。# Options Indexes FollowSymLinks MultiViews## 此项控制目录中哪些.htaccess文件可覆盖。# 允许值: “All”或者以下项的组合:”Options”, “FileInfo”, # “AuthConfig”, “Limit”# AllowOverride None## 控制哪些用户可从此服务器获得资料。# Order allow,deny Allow from all</Directory>## UserDir: 当请求~user时,追加到用户主目录的路径地址。## 在Win32下,并不要求指定为用户登陆的主目录。# 因此可使用以下的格式。 # 详细参照文档UserDir#<IfModule mod_userdir.c> UserDir “f:/homepages/”</IfModule>## 控制访问UserDir目录. The following is an example# 以下是一个站点的例子,权限限制为只读。##<Directory “E:/Program Files/Apache Group/Apache/users”># AllowOverride FileInfo AuthConfig Limit# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec# <Limit GET POST OPTIONS PROPFIND># Order allow,deny# Allow from all# </Limit># <LimitExcept GET POST OPTIONS PROPFIND># Order deny,allow# Deny from all# </LimitExcept>#</Directory>## DirectoryIndex: 预设的HTML目录索引文件名。# 用空格来分隔多个文件名。#<IfModule mod_dir.c> DirectoryIndex index.html</IfModule>## AccessFileName: 每个目录中用于控制访问信息的文件名。#AccessFileName .htaccess## 以下行防止客户端可访问 .htaccess 文件。# 因为 .htaccess文件通常包含授权信息,# 处于安全的考虑不允许访问。 # 如果想让访客看到.htaccess文件的内容,# 可将这些行注释。# 如果修改了上面的AccessFileName,# 请在此进行相应的修改。## 同时,一般会用类似.htpasswd的文件保存密码。# 这些文件同样可以得到保护。#<Files ~ “^\.ht”> Order allow,deny Deny from all</Files>## CacheNegotiatedDocs: 默认下,Apache对每个文档发送”Pragma: no-cache”# 这将要求代理服务器不缓存此文档。# 取消下列行的可取消这个属性,这样代理服务器将缓存这些文档。##CacheNegotiatedDocs## UseCanonicalName: (1.3新增) 当此设置为on时,# 无论何时Apache需要构建一个自引用的URL(指向响应来源服务器),# 它将用ServerName和Port来构建一个规范的格式。# 当此设置为off时,Apache将使用客户端提供的”主机名:端口”# 这将同时影响CGI脚本中的SERVER_NAME和SERVER_PORT#UseCanonicalName On## TypesConfig 记录媒体类型(mime.types)文件或类似的东东放置的位置#<IfModule mod_mime.c> TypesConfig conf/mime.types</IfModule>## DefaultType 是服务器处理未确认类型的文件,如为止的扩展名,的默认类型。# 如果你的服务器上主要包含的是文本或HTML文档,”text/plain”是较好的设置 # 如果服务器上主要包含二进制文件,如应用程序或图片,# 最好设置成”application/octet-stream”防止浏览器将二进制文件以文本的方式显示。#DefaultType text/plain## mod_mime_magic模块允许服务器使用文件自身的不同标识来确定文件类型。# MIMEMagicFile指示模块文件标识的定义所在的位置。# mod_mime_magic不是默认服务器的一部分。# (必须自行用LoadModule来追加 [见’全局环境’部分的 DSO 章节],# 或者在编译服务器时包含mod_mime_magic部分)# 包含在 <IfModule> 中.# 就是说,如果该模块是服务器的一部分,MIMEMagicFile标识将执行。#<IfModule mod_mime_magic.c> MIMEMagicFile conf/magic</IfModule>## HostnameLookups: 注册客户端的机器名或IP地址。# 例如: www.apache.org (on) 或 204.62.129.132 (off).# 默认为off,因为对于网络来说,最好让人们有意识的设置为on,# 因为开启此功能意味着每个客户请求将导致至少向name服务器发送一个lookup请求#HostnameLookups Off## ErrorLog: 错误记录文件的地址# 如果不在<VirtualHost>内指定ErrorLog # 改虚拟主机的错误心细将记录到此处。# 如果在<VirtualHost>中明确指定了错误记录文件,# 则错误将记录在那儿而不是这儿。#ErrorLog logs/error.log## LogLevel: 控制记录在error.log中信息的个数.# 可能的值:debug, info, notice, warn, error, crit,# alert, emerg.#LogLevel warn## 以下标识定义CustomLog标识使用的格式。(见下)#LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combinedLogFormat “%h %l %u %t \”%r\” %>s %b” commonLogFormat “%{Referer}i -> %U” refererLogFormat “%{User-agent}i” agent## 访问记录的位置和格式 (功用的记录文件格式).# 如果不在<VirtualHost>中定义记录文件,# 那些访问记录就将保存在这儿。 Contrariwise, if you *do*# 反之,如果指定了记录文件,那么访问记录将记录在那儿而不是这个文件中。#CustomLog logs/access.log common## 如果希望使用代理和参考的记录文件, 取消以下标识的注释符##CustomLog logs/referer.log referer#CustomLog logs/agent.log agent## 如果想在一个文件中记录访问、代理、参考信息(复合的记录格式)# 可使用以下标识##CustomLog logs/access.log combined## 在服务器产生的页面(如错误文档信息,FTP目录列表等等,不包括CGI产生的文档)中# 增加一条服务器版本和虚拟主机名的信息。# 设置为”EMail”将包含mailto: ServerAdmin的连接.# 可选值: On | Off | EMail#ServerSignature On# # 默认下,Apache用工作行解析所有CGI脚本# 此注释行(脚本的第一行)包括’#’和’!’后面跟着执行特殊脚本的程序路径,# 对perl脚本来说是C:\Program Files\Perl目录中的perl.exe。# 工作行如下: #!c:/program files/perl/perl# 注意真实的工作行不能有缩进,必须是文件的第一行。# 当然,CGI进程必须通过适当的scriptAlias或ExecCGI选项标识来启动。## 然而,Windows下的Apache即允许以上的Unix方式,也可以通过注册表的形式。# 用注册表执行文件的方法同在Windows资源管理器中双击运行的注册方法相同。 # 此脚本操作可在Windows资源管理器的“查看”菜单中设置。 # “文件夹选项”,然后查看“文件类型”。点击编辑按钮。# 修改操作属性。Apache 1.3会尝试执行‘Open’操作,# 如果失败则会尝试工作行# 这个属性在Apache release 2.0中会有改变.## 每个机制都有自身特定的安全弱点,这样可能导致别人运行你不希望调用的程序。# 最佳的解决方案还在讨论中。## 要是这个Windows的特殊属性生效 (同时会是Unix属性无效)# 取消下列标识的注释符。##scriptInterpreterSource registry## 上面的标识可在<Directory>块或.htaccess文件中单独替换。# 可选择’registry’ (Windows behavior)或 ‘script’ # (Unix behavior) option, 将覆盖服务器的默认值。### Aliases: 可无限制的追加别名。格式如下: # Alias 假名 真名#<IfModule mod_alias.c> # # 注意如果假名中包含’/’,服务器会在当前URL中发出请求。 # 因此”/icons”不能用于别名 # 必须用 “/icons/”.. # Alias /icons/ “C:/Program Files/Apache Group/Apache/icons/” <Directory “C:/Program Files/Apache Group/Apache/icons”> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> # # scriptAlias: 控制哪个目录包含服务器脚本。 # scriptAlias本质行和Aliases一样。, except that # 区别在于真名目录中的文档被看作是一个应用程序。 # 请求时由服务器运行而不是发往客户端。 # “/”符号的规则同 # Alias相同. # scriptAlias /cgi-bin/ “C:/Program Files/Apache Group/Apache/cgi-bin/” # # “C:/Program Files/Apache Group/Apache/cgi-bin” 可修改为任何放置CGI脚本的目录 # <Directory “C:/Program Files/Apache Group/Apache/cgi-bin”> AllowOverride None Options None Order allow,deny Allow from all </Directory></IfModule># 别名结束#php脚本说明scriptAlias /php/ “d:/php/”AddType application/x-httpd-php .phpAddType application/x-httpd-php .php3AddType application/x-httpd-php .phtmlAction application/x-httpd-php “/php/php.exe”#php脚本说明结束## Redirect 允许告诉客户端服务器上曾经有的文档,但是现在不存在了。# 并且可以告诉客户端到哪儿去寻找。# 格式: Redirect old-URL new-URL### 控制服务器目录列表显示的标识#<IfModule mod_autoindex.c> # # FancyIndexing标识是使用特定的目录检索还是标准的(standard) # IndexOptions FancyIndexing # # AddIcon*表明不同文件或扩展名显示的图标。 # 这些图标只在特定检索状态下显示。 # AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ # # DefaultIcon 用于为制定图标的文件所显示的图标。 # DefaultIcon /icons/unknown.gif # # AddDescription在服务器生成的检索的某个文件后追加小段说明。 # 此项只在设置为FancyIndexed时有效 # 格式:AddDescription “描述” 文件名 # #AddDescription “GZIP compressed document” .gz #AddDescription “tar archive” .tar #AddDescription “GZIP compressed tar archive” .tgz # # ReadmeName是服务器默认的README文件。 # 并且会追加到目录列表的最后。 # # HeaderName 是目录中需要预先显示内容的文件名。 # # 如果MultiViews在选项中,作为结果,服务器将先找name.html, # 如果存在就包含它。如果name.html不存在, # 服务器会继续寻找name.txt。如果存在就作为纯文本包含进来。 # ReadmeName README HeaderName HEADER # # IndexIgnore是一系列的文件名。目录索引将忽略这些文件并且不包含在列表中。 # 允许使用通配符。 # IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</IfModule># indexing标识结束## 文件类型#<IfModule mod_mime.c> # # AddEncoding 可用于特殊浏览器(Mosaic/X 2.1+)快速传输压缩信息。 # 注:并不是所有的服务器都支持。 # 除了名字相似,以下Add*标识对上面的FancyIndexing定制标识无影响。 # AddEncoding x-compress Z AddEncoding x-gzip gz tgz # # AddLanguage用于指定文档的语言。 # 可以使用content标签指定每个文件的语言。 # # 注 1: 后缀不必与所用语言的关键字相同。 # — 波兰语(Polish,标准代码为pl)的文档可以用 # “AddLanguage pl .po” 来避免与perl脚本文件混淆。 # # 注 2: 以下例子表明两个字母的语言缩写和两个字母的国家缩写并不一定相同。 # E.g. ‘Danmark/dk’ 对比 ‘Danish/da’. # # 注 3: 其中’ltz’使用了三个字符,与RFC的规定不同。 # 但是这个问题正在修订中,并且重新清理RFC1766 # # 丹麦Danish (da) – 荷兰Dutch (nl) – 英国English (en) – 爱萨尼亚Estonian (ee) # 法国French (fr) – 德国German (de) – 现代希腊文Greek-Modern (el) # 意大利Italian (it) – 朝鲜Korean (kr) – 挪威Norwegian (no) # 葡萄牙Portuguese (pt) – 卢森堡Luxembourgeois* (ltz) # 西班牙Spanish (es) – 瑞典Swedish (sv) – 加泰罗尼亚Catalan (ca) – 捷克Czech(cz) # 波兰Polish (pl) – 巴西Brazilian Portuguese (pt-br) – 日本Japanese (ja) # 俄国Russian (ru) # AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .ee AddLanguage fr .fr AddLanguage de .de AddLanguage el .el AddLanguage he .he AddCharset ISO-8859-8 .iso8859-8 AddLanguage it .it AddLanguage ja .ja AddCharset ISO-2022-JP .jis AddLanguage kr .kr AddCharset ISO-2022-KR .iso-kr AddLanguage no .no AddLanguage pl .po AddCharset ISO-8859-2 .iso-pl AddLanguage pt .pt AddLanguage pt-br .pt-br AddLanguage ltz .lu AddLanguage ca .ca AddLanguage es .es AddLanguage sv .se AddLanguage cz .cz AddLanguage ru .ru AddLanguage tw .tw AddCharset Big5 .Big5 .big5 AddCharset WINDOWS-1251 .cp-1251 AddCharset CP866 .cp866 AddCharset ISO-8859-5 .iso-ru AddCharset KOI8-R .koi8-r AddCharset UCS-2 .ucs2 AddCharset UCS-4 .ucs4 AddCharset UTF-8 .utf8 # LanguagePriority 可设置语言的优先级。 # # 优先级降序排列 # 在此处按照字母顺序,可自行修改 # <IfModule mod_negotiation.c> LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw </IfModule> # # AddType 可临时改变mime.types或者指定特殊文件的格式。 # # 例如:PHP 3.x 模块 (非Apache标准配件,参见http://www.php.net)可用下面格式定义: # #AddType application/x-httpd-php3 .php3 #AddType application/x-httpd-php3-source .phps # # PHP 4.x, 使用: # #AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps AddType application/x-tar .tgz # # AddHandler 可将特定文件扩展名映射到处理方法上。 # 与文件类型无关。此特性可内建到服务器中或者追加在操作指令中(见下) # # 如果希望用服务器端应用或scriptAliased外的CGI,取消以下行的注释符 # # 用CGI脚本: # #AddHandler cgi-script .cgi # # 用服务器解析的HTML文档 # #AddType text/html .shtml #AddHandler server-parsed .shtml # # 取消以下注释符可激活Apache的send-asis HTTP file特性 # #AddHandler send-as-is asis # # 如果使用服务器端解析的图像定位文件,使用以下标识: # #AddHandler imap-file map # # 要激活type maps使用: # #AddHandler type-map var</IfModule># 文档类型说明结束## Action 定义在文件匹配时执行相应的脚本。# 可简化常用CGI文件的调用。# 格式: Action media/type /cgi-script/location# 格式: Action handler-name /cgi-script/location### MetaDir: 指定保存meta信息文件的目录。# 这些文件包含附加的HTTP头,在发送文档是一并发送。##MetaDir .web## MetaSuffix: 指定包含meta信息的文件的后缀。##MetaSuffix .meta## 可定制的错误响应(Apache类型)# 共三种风格:## 1) 纯文本#ErrorDocument 500 “The server made a boo boo.# 注: 第一个”号用于表示是文本,实际不输出## 2) 本地重定向#ErrorDocument 404 /missing.html# to redirect to local URL /missing.html#ErrorDocument 404 /cgi-bin/missing_handler.pl# 注:可重定向到任何一个服务器端的脚本或文档## 3) 外部重定向#ErrorDocument 402 http://some.other_server.com/subscription_info.html# 注: 大部分与初始请求关联的环境变量对这样的脚本无效。### 基于浏览器的定制操作#<IfModule mod_setenvif.c> # # 以下标识修改普通的HTTP响应操作。 # 第一个标识针对Netscape2.x和其他无此功能的浏览器取消保持激活状态的功能 # 这些浏览器在执行这些功能时会出错。 # 第二个标识针对IE4.0b2设置。其中有一条不完整的HTTP/1.1指令 # 在301或302(重定向)响应时不能正确的保持激活状态 # BrowserMatch “Mozilla/2” nokeepalive BrowserMatch “MSIE 4\.0b2;” nokeepalive downgrade-1.0 force-response-1.0 # # 下面的标识通过不产生基本的1.1响应取消对违反HTTP/1.0标准的浏览器的响应。 # BrowserMatch “RealPlayer 4\.0” force-response-1.0 BrowserMatch “Java/1\.0” force-response-1.0 BrowserMatch “JDK/1\.0” force-response-1.0</IfModule># 浏览器定制标识结束## 允许使用URL”http://servername/server-status”的形式查看服务器状态报告# 修改 “.your_domain.com”来匹配相应的域名以激活此功能##<Location /server-status># SetHandler server-status# Order deny,allow# Deny from all# Allow from .your_domain.com#</Location>## 允许使用URL”://servername/server-info”(要求加载mod_info.c),# 来远程察看服务器配置报告。# 修改 “.your_domain.com”来匹配相应的域名以激活此功能##<Location /server-info># SetHandler server-info# Order deny,allow# Deny from all# Allow from .your_domain.com#</Location>## 据报有人试图利用一个老的1.1漏洞。# 这个漏洞与CGI脚本在Apache服务器上分布有关。# 通过取消下面几行的注释符,可以将此类攻击记录转移到phf.apache.org上的记录脚本上。 # 或者也可以利用脚本scriptsupport/phf_abuse_log.cgi记录在本地服务器上。##<Location /cgi-bin/phf*># Deny from all# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi#</Location>## 代理服务器标识。取消下列行的注释符可激活代理服务器。##<IfModule mod_proxy.c># ProxyRequests On# <Directory proxy:*># Order deny,allow# Deny from all# Allow from .your_domain.com# </Directory> # # 激活/取消处理HTTP/1.1 “Via:” 报头 # (“Full”:加入服务器版本; “Block”:取消所有外发的Via: 报头) # 可设置值: Off | On | Full | Block ## ProxyVia On # # 可修改下列各行并取消注释符来激活缓存。 # (没有CacheRoot标识就不使用缓存) ## CacheRoot “E:/Program Files/Apache Group/Apache/proxy”# CacheSize 5# CacheGcInterval 4# CacheMaxExpire 24# CacheLastModifiedFactor 0.1# CacheDefaultExpire 1# NoCache a_domain.com another_domain.edu joes.garage_sale.com
Nginx配置参数中文说明。#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件pid /var/run/nginx.pid;#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。worker_rlimit_nofile 65535;#工作模式与连接数上限events{# 参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。use epoll;#单个进程最大连接数(最大连接数=连接数进程数)worker_connections 65535;}#设定http服务器http{include mime.types; #文件扩展名与文件类型映射表default_type application/octet-stream; #默认文件类型#charset utf-8; #默认编码server_names_hash_bucket_size 128; #服务器名字的hash表大小client_header_buffer_size 32k; #上传文件大小限制large_client_header_buffers 4 64k; #设定请求缓client_max_body_size 8m; #设定请求缓sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改 成off。autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。tcp_nopush on; #防止网络阻塞tcp_nodelay on; #防止网络阻塞keepalive_timeout 120; #长连接超时时间,单位是秒#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;#gzip模块设置gzip on; #开启gzip压缩输出gzip_min_length 1k; #最小压缩文件大小gzip_buffers 4 16k; #压缩缓冲区gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_comp_level 2; #压缩等级gzip_types text/plain application/x-javascript text/css application/xml;#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。gzip_vary on;#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用upstream blog.ha97.com {#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。server 192.168.80.121:80 weight=3;server 192.168.80.122:80 weight=2;server 192.168.80.123:80 weight=3;}#虚拟主机的配置server{#监听端口listen 80;#域名可以有多个,用空格隔开server_name www.ha97.com ha97.com;index index.html index.htm index.php;root /data/www/ha97;location ~ ..(php|php5)?${fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}#图片缓存时间设置location ~ ..(gif|jpg|jpeg|png|bmp|swf)${expires 10d;}#JS和CSS缓存时间设置location ~ ..(js|css)?${expires 1h;}#日志格式设定log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘‘$status $body_bytes_sent “$http_referer” ‘‘”$http_user_agent” $http_x_forwarded_for’;#定义本虚拟主机的访问日志access_log /var/log/nginx/ha97access.log access;#对 “/” 启用反向代理location / {proxy_pass http://127.0.0.1:88;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#以下是一些反向代理的配置,可选。proxy_set_header Host $host;client_max_body_size 10m; #允许客户端请求的最大单文件字节数client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers2)proxy_temp_file_write_size 64k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传}#设定查看Nginx状态的地址location /NginxStatus {stub_status on;access_log on;auth_basic “NginxStatus”;auth_basic_user_file conf/htpasswd;#htpasswd文件的内容可以用apache提供的htpasswd工具来产生。}#本地动静分离反向代理配置#所有jsp的页面均交由tomcat或resin处理location ~ .(jsp|jspx|do)?$ {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:8080;}#所有静态文件由nginx直接读取不经过tomcat或resinlocation ~ ..(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)${ expires 15d; }location ~ .*.(js|css)?${ expires 1h; }}}
linux下一般都是tar和zip的,如果下载到的文件是rar格式的话.我们就需要另外安装rar解压缩软件来支持了.下面简记一下首先从rarlab官网的下载页面找到你所对应的版本.32位或者是64位的linux版本.https://www.rarlab.com/download.htm我这里以64位的作为例子.在命令行里面使用wget直接下载:wget https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz 然后解压:tar zxvf rarlinux* 或者是准确的使用Tab键补全. tar zxvf rarlinux-x64-5.5.0.tar.gz然后cd进入rar目录进行编译安装cd rar makemake installroot@kali:~# cd rarroot@kali:~/rar# makemkdir -p /usr/local/binmkdir -p /usr/local/libcp rar unrar /usr/local/bincp rarfiles.lst /etccp default.sfx /usr/local/libroot@kali:~/rar# make installmkdir -p /usr/local/binmkdir -p /usr/local/libcp rar unrar /usr/local/bincp rarfiles.lst /etccp default.sfx /usr/local/lib这时候使用rar 命令会提示你它的使用方法.常见使用方法如下:解压缩一个file.rar 命令: rar x file.rar压缩一个文件: rar a file2.rar ./test (将当前目录下的test文件夹压缩为file2.rar)其他具体命令请使用rar查看.PS:上篇文章的命令行下载工具里,axel 对于允许同时多线程下载的特别有用,wget 更适合下载只允许单线程的如果您只是临时用,不想make命令编译,则可以直接解压后在解压目录下执行./unrar和./rar命令即可对rar文件操作。
何为yum?yum是rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,是up2date 的替代工具。1.命令格式: yum [options] [command] [package …]2.yum客户端配置文件:公共配置文件:/etc/yum.conf 为所有仓库提供公共配置指定仓库配置文件,格式如下:/etc/yum.repos.d/*.repo [repoid] name= baseurl=ftp:// http:// file://3.command的分类及具体用法:1)显示仓库列表(所有all、已激活enabled、未激活disabled)和程序包(已安装installed、可安装available、可更新updates) 显示仓库列表: yum repolist [all|enabled|disabled] 显示程序包: yum list(默认为all) yum list [all | glob_exp1] [glob_exp2] […] yum list {available|installed|updates} [glob_exp1]2)安装程序包 install 包名 1 包名2…………. reinstall 包名 1 包名2 ………. localinstall 包名 1 包名2………. 本地安装,指定rpm包,其所依赖的包用yum的repo来装 >>>用法: 安装程序包时常常搭配下列几个选项使用 –nogpgcheck 当次安装时不检测gpgkey -y 自动回答”yes” (常用于脚本中屏蔽交互) -q 静默模式,什么也不显示 注意:同时使用-y -q时,不能使用-yq 或-qy,正确格式为 -y -q或 -q -y3)升级程序包 update 包1 包2…………….. localupdate rpmfile1 rpmfile2…….. 升级本地程序包(一般用update替代) downgrade package1 [package2] […] (降级) check-update 检查可用升级4)卸载程序包 remove|erase 包名5)查看程序包信息 info […..] 6)查看某文件由哪个程序包所提供(能够显示相关文件详细信息,包括所属包,仓库,简介) provides|whatprovides filename/command (”文件名” 支持通配符)7)本地缓存 yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清除缓存 makecache 构建缓存 常见用法:创建仓库后,要先清理本地缓存,再显示仓库列表8)搜索(常在排错中使用) search string1 string2……… deplist 包名 查看指定包所依赖的功能9)查看yum事务历史及日志 history [info|list|packages-list|packages-info| summary|addon-info|redo(翻反撤销)|undo(撤销)| rollback(回滚)|new|sync|stats] yum history info [number] 查看指定编号具体信息 yum history undo [number] 撤销操作日志:/var/log/yum.log(同时配合多窗口和tial -f 可实现日志监控)10)包组管理 grouplist 查看所有包组 groupinfo group1 group2………. groupinstall group1 group2………. groupremove group1 group2………. 只删除包组中的包,不删除依赖包,可以用yum history undo 操作数字来删除包含依赖包。 groupupdate group1 group2………. 更新包组中的包 –disablerepo=repoidglob –enablerepo=repoidglob createrepo /app/magedudvd 在/app/magedudvd/下创建 repodata 从而将指定目录创建为repo仓库。4.options:–nogpgcheck:禁止进行gpg check-y: 自动回答为“yes”-q:静默模式–disablerepo=repoidglob:临时禁用此处指定的repo–enablerepo=repoidglob:临时启用此处指定的repo–noplugins:禁用所有插件二:源码编译(httpd)步骤一、下载httpd最新版本的源码包并解包[root@centos6 ~]# rpm -qi httpd[root@centos6 ~]# tar -xvf httpd-2.2.34.tar.bz2 步骤二、安装包组Development tools(第一次编译会缺少gcc等必要的包,可以用此包组来安装这些必要的包)[root@centos6 httpd-2.2.34]# yum groupinstall Development tools -y步骤三、第一次编译源码,难免会对编译步骤有些生疏,这时可以通过查看源码包下的INSTALL(可以显示快速安装步骤,如图1)、README(功能介绍等)来熟悉安装步骤和相关信息: 图1步骤四、 ./configure 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile注意:第一次编译可能会出现错误,解决方法为:按照错误提示,用yum search string来查找所需包的名字并安装直到./configure能够正常安装,万事开头难,要学会耐心排错偶O(∩_∩)O~~如图2,我们刚开始就遇见了缺少apr包这个问题,需要安装apr-devel[root@localhost httpd-2.4.27]# ./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24 --enable-rewrite [root@localhost httpd-2.4.27]# yum search apr [root@localhost httpd-2.4.27]# yum install apr-devel #安装apr-devel就代表同时安装了它的所有版本 图2技术要点:./configureh 通过 ./configure -h 可获取帮助信息,包括httpd生成文件默认目录的设置或其他设置所需选项,以下为./configure 几个常用选项: –prefix=DIR 设置安装路径(程序家目录,配置文件、二进制文件等常见文件都在此目录下)(系统默认为/usr/local/apache2) –sysconfdir=DIR 设置配置文件安装路径(系统默认为/usr/local/apache2/etc) –bindir=DIR 设置程序二进制文件安装路径(系统默认路径为/usr/local/apache2/bin)步骤五:根据makefile文件,构建应用程序并复制文件到相应路径 [root@localhost httpd-2.4.27]# make&&make install步骤六、启动服务[root@centos6 httpd-2.2.34]# /app/apache22/bin/apachectl start注:第一次安装并开启httpd服务后一般会出现以下两种错误>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>错误一:如图3错误,要求将ServerName设为全局变量,这时我们需要进入配置文件将这行取消注释,如图4 图3[root@centos6 httpd-2.2.34]# vim /etc/apache22/httpd.conf 图4错误二:如图五,80端口被占用,说明下同原有httpd服务已开,占用此端口,这时需要先关闭系统的httpd服务,再打开新安装的httpd服务 图五此步骤完成后,我们可以可以在浏览器输入本机ip地址来测试是否能够显示主页信息,如出现网页一直加载的情况,就有可能是防火墙在捣鬼啦步骤七:关闭防火墙 CentOS7: systemctl is-active firewalld.service 查看当前是否开启 systemctl stop firewalld.service 当前关闭 systemctl is-enabled firewalld.service 查看系统启动时是否开启 systemctl disable firewalld.service 关闭系统启动时开启CentOS6 service iptables stop查看防火墙 iptables -vnL查看网络监听情况(看80端口是否开启) netstat -ntl步骤八、最后测试打开浏览器—>输入本机ip号—>很开心,测试成功~~~~~
Mount下—-o 选项的各项用处 mount-o 选项sync,async 同步模式,异步模式(defaults) 此选项的默认模式为异步模式。在同步模式下,内存的任何修改都会实时的同步到硬盘当中,这种模式的安全性基本属于最高,但是因为内存的数据基本一致都在变化,所以这种模式会使得程序运行变得缓慢,影响效率。而在异步模式下,虽然同步没有实时,但是现在考虑到日志文件系统的存在,所以安全性基本不用考虑,而异步模式的效率会更高,随意目前普遍使用异步模式为默认 修改方式为 Mount –o sync(async) atime(defaults),noatime 是否在读访问时更新atime 选项命令决定用户在访问后是否会更新文件的atime时间首先我们复制一个文件到当前目录下,并且利用youch命令改动一下次此文件的atime时间 这时候我们查看一下次文件,此时文件的atime时间已经被更新 然后我们给这个文件所挂载的目录添加notime选项,此时查看便能看见sda10已经有了一个notime的注释 这时候我们再次用命令对文件的atime进行改动,发现时间已经不再改动 diratime(defaults),nodiratime 目录的访问时间戳 选项决定目录的访问时间是否会被修改,与文件一样,此处不再做演示auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载 是否支持自动挂载,是否支持-a选项 次选项一般是修改在/etc/fstab文件当中,现在我们进入fstab文件并且修改sda10的选项,添加noauto选项,然后执行-a命令查看 这时候会发现即使在进行mount-a命令后,sda10仍然没有挂载 suid(defaults)/nosuid:不否支持suid和sgid权限 在次选项下,拥有此选项的文件是否或支持suid或者sgid权限首先我们拷贝一个cat命令到app下,目的是为了方面区分选项权限 此时在app目录下拥有一个cat的执行命令 ,利用当前目录的cat可以查看其他目录的文件 现在查看当前目录的cat权限,为所有人可读可执行 然后我们切换到普通用户下利用app文件中的cat命令查看/etc/shadow文件,发现没有查看权限,因为shadow文件是一个所有人不可读写的特殊文件 此时我们回到管理员用户上给app下的cat一个suid权限,这时查看cat发现cat为suid命令 现在我们再次切换到普通用户下,利用app下的cat查看shadow文件,发现时可以查看的 而我们使用原始的cat命令查看依旧无法查看 这时我们给app挂载的sda3上添加nosuid选项,此时在利用app下的cat命令查看shadow文件,发现不可查看 Sgid与suid是一样的,不再掩饰,默认为有 以上就是mount选项-o下部分选项的功能介绍。还有更多功能可以自行查询哦
Linux的优化不是盲目的,而要对症下药,经常看到站长群里有人在问,为什么和你们用的是一样的oneinstack一键包,我的速度还这么慢呢?用的可是阿里云!我都会这样回答,优化分析不够彻底!盲目优化!对Nginx的实时监控!如哪些请求最频繁、哪些IP访问次数多.例如服务器出现带宽持续很高,就需要看下现在哪些请求的流量大。ngxtop就是用来满足这些实时监控需求的,是个非常小巧实用的工具ngxtop通过分析nginx的访问日志,使用类似top命令的界面实时展示出来需要注意的是,ngxtop是查看实时状态信息,就是在执行ngxtop命令之后的统计信息,和top一样,不要理解为是对所有日志内容的统计基本用法ngxtop结果形式如下:案例查看404状态的请求ngxtop top request_path --filter 'status == 404'查看响应流量最高的请求ngxtop --order-by 'avg(bytes_sent) * count'查看访问量最大的IPngxtop --group-by remote_addr查看状态为4xx或者5xx的请求,同时显示status和http_referer信息ngxtop -i 'status >= 400' print request status http_referer查看以某字符串开头的请求ngxtop --filter 'request_path.startswith("/wp")'
检查SElinux是否关闭sestatus检查命令,输入看到是disable状态才行,要不需要先关闭掉,防止出现问题。修改SSH端口步骤 1、修改/etc/ssh/sshd_config配置文件如果我们不熟悉vi命令,就老老实实下载到本地然后修改。我们默认看到的是"# Port 22",需要先将#去掉,然后再起一行添加一个设置的端口数字。可以设置数字建议1000-60000,尽量的不要与其他项目冲突。如果我们不熟悉vi命令,就老老实实下载到本地然后修改。我们默认看到的是"# Port 22",需要先将#去掉,然后再起一行添加一个设置的端口数字。可以设置数字建议1000-60000,尽量的不要与其他项目冲突。PS:我们不要直接将22去掉,防止后面新端口登录不上,我们先22保留,一切没问题之后再删除。2、放行端口firewall-cmd --permanent --zone=public --add-port=21212/tcp firewall-cmd --reload21212是我们设置的端口,需要放行。3、检查端口是否开启firewall-cmd --permanent --query-port=21212/tcp4、重启SSH服务systemctl restart sshd.service重启之后,我们尝试下新的端口是否可以登入。如果可以登入再去编辑文件将22端口的一行编辑#掉或者删除,编辑之后肯定还需要重启SSH服务才可以生效。如果还不放心,在正式项目之前,我们可以重启服务器,然后再试试新端口是否可以登入。总之,解决问题方法网上都有很多,唯独需要注意的就是修改端口之前原来的端口不要开始就删除,等新端口没有问题再去删除老端口。
第一、报错问题configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing第二、解决问题应该是缺少组件系统没有集成安装进来,估计这台服务器内置没有安装上,我们需要给补上。yum install -y libc-client-devel安装libc-client-devel完毕之后,然后我再去安装脚本,就没报错了。
Linux下正确关机方法Table of Contents1关机前1.1观察系统使用 1.2通知在线使用者关机2关机2.1 sy 2.2 shutdo 2.3 rebo 2.4 ha 2.5 powero3执行3.1等级 3.2等级1关机前准备1.1观察系统使用状态谁在线:who联网状态:netstat -a 后台执行的程序:ps -aux1.2通知在线使用者关机时间shutdown +2 "The machine will shutdown" # 2min 后关机,并通知在线者2关机命令2.1 sync将内存中未写入硬盘的数据写入硬盘2.2 shutdownshutdown now # 立即关机shutdown +2 # 2 min 后关机shutdown 10:01 # 10:01关机shutdown +2 "The machine will shutdown" # 2min 后关机,并通知在线者2.3 reboot重新启动,加参数后可以实现halt,poweroff2.4 halt指向reboot的链接,相当于shutdown -h2.5 poweroff指向reboot的链接,相当于halt3执行等级3.1等级划分run level 0: 关机run level 3: 纯文本模式run level 5: 含图形接口模式run level 6: 重新启3.2等级切换init 0 # 切换到等级0,即关机附:shutdown,halt,poweroff区别shutdown :使系统关闭,参考一下现有的解释:“命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等”而且shutdown会去执行 /etc/rc0.d/下面的脚本,也就是说会去执行runlevel 0的脚本。 halt则不会。poweroff: 切断系统电源poweroff就是halt的软链接而已。执行的还是halt命令。关于halt命令,可以这样理解:halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
服务热线:
4006-75-4006(7*24小时在线)
总机直拨:
0871-63886388(工作日9:00-18:00)
售前咨询
售后咨询
备案咨询
电话
二维码
TOP