--
web 服务器
survey.netcraft.net --此网站会有每月份的世界上网站使用的WEB服务器的使用率统计
www.apache.org
apache a patch server
nginx
IIS
lighttpd
IBM websphere
tomcat jboss weblogic
[root@li ~]# yum install httpd* -y
[root@dns share]# rpm -qa |grep httpd
httpd-manual-2.2.3-31.el5 --文档包
httpd-2.2.3-31.el5 --主程序包
httpd-devel-2.2.3-31.el5 --开发包
# rpm -qa |grep httpd --rhel6.3下的结果
httpd-manual-2.2.15-15.el6_2.1.noarch
httpd-tools-2.2.15-15.el6_2.1.x86_64
httpd-devel-2.2.15-15.el6_2.1.x86_64
httpd-2.2.15-15.el6_2.1.x86_64
# vim /etc/httpd/conf/httpd.conf
ServerTokens OS --向客户端提供一些服务器和信息
[root@li ~]# curl -I http://10.1.1.35
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2012 02:03:38 GMT
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/html;charset=ISO-8859-1
serverRoot "/etc/httpd" --存放配置文件一主目录
PidFile run/httpd.pid --pid文件
Timeout 120 --连接超时时间
KeepAlive Off --一般是短时间下载文件比较多的网站 在ON的时候 一次连接多次请求
MaxKeepAliveRequests 100
KeepAliveTimeout 15
------------------------------
keepalive参数修改小测试
off 的情况,别人刷新你的一个页面
netstat -nt |grep :80 可以看到一个IP有多次连接
on的情况,别人刷新页面
netstat -nt |grep :80 可以看到一个IP只有一次连接(15秒后再刷新会产生新连接)
两分钟左右不刷新,TIME_WAIT连接断开
-------------------------------------
Listen 80 --监听端口
<IfModule prefork.c> --预派生模式 ,lamp一般用这种
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256 --最大并发数
MaxRequestsPerChild 4000
</IfModule>
[root@li ~]# httpd -l
Compiled in modules:
core.c
prefork.c --可以看到rhel5里带的rpm版apache运行在prefork模式
http_core.c
mod_so.c
-----------------------
rpm里prefork模式和worker模式都在配置文件里,为什么只使用prefork?
# cd /usr/sbin/
# mv httpd httpd.prefork
# mv httpd.worker httpd
# /etc/init.d/httpd restart
# httpd -l
Compiled in modules:
core.c
worker.c --现在换成worker模式了
http_core.c
mod_so.c
--在源码编译版的apache里,使用哪一种模式就留着他的配置段,把别的模式注释掉就可以了
-----------------------------------------------------
Listen 80 --监听端口
下面的都属于叫DSO dynamic shared object 动态共享模块
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
..................................
Include conf.d/*.conf --表示conf.d/下的*.conf配置文件生效
User apache
Group apache --以什么身份运行
ServerAdmin root@localhost --管理邮箱
DocumentRoot "/var/www/html" --网站家目录
DirectoryIndex index.html index.html.var --定义主页文件
AccessFileName .htaccess --网页加密
ErrorLog logs/error_log --错误日志
LogLevel warn --日志等级
--下面为日志的格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# firefox file:///var/www/manual/index.html
/etc/init.d/httpd start
使用浏览器:输入自己的IP,或者127.0.0.1回环地址会看到一个红帽的欢迎页面
例一:建立网站主页
在网站根目录下 建立一个主页文件
echo 'main page' > /var/www/html/index.html
http://127.0.0.1/ --就可以看到main page的信息,也就是直接访问到主页
把主页文件写成html标签的格式如下:
<html>
<head>
<title>笔记站点</title>
</head>
<body>
<center><h1>欢迎来我的网站!@_@</h1></center>
</body>
</html>
例二:修改网站根目录
vim /etc/httpd/conf/httpd.conf
281: DocumentRoot "/www" --修改网站根目录为/www
306: <Directory "/www"> --把这个也对应的修改为/www
mkdir /www
/etc/init.d/httpd reload --重装启apache服务
echo 'new main page' > /www/index.html
http://127.0.0.1/ --看到新网站根目录下的new main page信息
--注意,不要开启selinux,否则换新的家目录的话,会造成报目录不存在的错误
例三:修改主页类型或者主页名
DirectoryIndex index.php index.html.var
/etc/init.d/httpd reload
使用浏览器访问,发现没有返回主页信息,因为上面的意思为:先找网站家目录下的index.php,不存在话,再找index.html.var,都不存在,就表示找不到主页
echo 'php main page' > /www/index.php
再使用浏览器访问,就会返回php main page信息
elinks 10.1.1.45 --elinks是一个文本模式的web浏览器
例四:修改语言集和字符集
DefaultLanguage zh-CN --默认语言集打开注释,并改为简体中文zh-CN
LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-TW --语言优先级,把zh-CN写到最前
AddDefaultCharset UTF-8 --字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异
----------------------------------
关于apache的标签,容器(访问控制)
directory (目录) file(文件) location (位置,url)
<Directory "/www"> --对/www目录进行的控制
Options Indexes FollowSymLinks --允许列表,符号链接
AllowOverride None --不使用.htaccess控制
Order allow,deny
Allow from all --针对/www目录的访问权限的控制,这两句代表允许所有访问
</Directory> --容器结束
indexes --指当找不到默认的主页文件时,就把此目录下的文件或者目录以列表形式显示出来
FollowSymlinks --允许符号链接,扩展了网站根目录,允许链接到网站根目录以外
allowoverride none --可以把none改为all来允许.htaccess控制
order allow,deny --指定的是先允许,后拒绝
allow from all --指定允许所有
例五:把网站的文件修改成目录列表的形式
条件1.
Options Indexes FollowSymLinks --相应目录要有indexes参数
条件2.
没有主页文件
条件3.
符合上面两个条件,就会访问到redhat的欢迎页面
vim /etc/httpd/conf.d/welcome.conf --注释掉这个欢迎页面,或者是删除它
/etc/init.d/httpd reload
elinks 127.0.0.1 --可以看到是以列表形式显示了
例六:访问权限控制 --注意这些访问权限控制是针对容器的
Order allow,deny
Allow from all --允许所有
Order allow,deny
deny from all --拒绝所有
Order allow,deny
allow from all
deny from 2.2.2.35 --允许所有,但拒绝35
Order allow,deny
allow from all
deny from all --拒绝所有
Order allow,deny
deny from all
allow from all --还是拒绝所有,读取的顺序由order决定
练习:在/www目录下新建一个bbs目录,也就是/www/bbs,再在/www/bbs里建立一个index.html文件,使用directory目录容器控制拒绝35访问,别的都允许
<Directory "/www/bbs"> --不能嵌套,所以这里写绝对路径
order allow,deny
allow from all
deny from 10.1.1.35 --可以把10.1.1.35换成.cluster.com这个表示cluster.com这个域下的所有主机名都不能访问(需要hosts文件和DNS来支持)
</Directory>
--加上这段话,不要嵌套在/www的目录容器里
例七.files 容器 --针对文件的控制
<Directory "/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
<files "1"> --表示35这个客户端不能访问/www/1,而且如果要控制/www/bbs/1这个文件,不能在这里写成<files "bbs/1">,需要在/www/bbs这个目录的directory容器里再嵌套files标签来控制
order allow,deny
allow from all
deny from 10.1.1.35
</files>
</Directory>
<files "/www/1">
order allow,deny
deny from all
</files> --这种写法没有生效,不对,所以要files容器嵌套到目录容器内部,要上面的那种写法
--下面这段是apache的默认的一个files容器的配置示例
<Files ~ "^\.ht"> --以.ht开头的文件不被客户端用户看到
Order allow,deny
Deny from all
</Files>
例:网站下所有目录(包括子目录)以ule开头的文件都不能被访问
<Files ~ "^ule">
Order allow,deny
Deny from all
</Files>
练习:网站下所有目录(包括子目录)以.txt结尾的文件都不能被访问
<Files ~ "\.txt$">
Order allow,deny
Deny from all
</Files>
练习:网站下所有.gif .jpeg .png的图片都被拒绝
<Files ~ "\.(gif|jpeg|png)$">
Order allow,deny
Deny from all
</Files>
例八:location 容器
<Location "/bbs">
order allow,deny
deny from all
</Location>
--这是对http://IP/bbs 这种URL来进行权限控制
--location容器有时候和directory有可能重合,并且配置有冲突,(如果一个是允许,一个是拒绝,无论是location拒绝,还是directory拒绝,最终结果都是拒绝的)下面这种情况,http://IP/bbs是不能访问的
<Location "/bbs">
order allow,deny
deny from all
</Location>
<Directory "/www/bbs">
order allow,deny
allow from all
</Directory>
--注意:在rhel6里,有细微变化,location的优先级要高
例九:对mod_status和mod_info这两个DSO配置服务器的信息查看
176 LoadModule status_module modules/mod_status.so
890 <Location /server-status>
891 SetHandler server-status
892 Order deny,allow
893 Deny from all
894 Allow from 10.1.1.35
895 </Location>
178 LoadModule info_module modules/mod_info.so
902 <Location /server-info>
903 SetHandler server-info
904 Order deny,allow
905 Deny from all
906 Allow from 10.1.1.35
907 </Location>
http://IP/server-status
http://IP/server-info
例十:对网站目录使用apache的基本加密功能 .htaccess
第一种做法:
1。
# vim /www/.htaccess --对哪个目录进行限制,就在哪个目录下建立此文件
authname "please input your username and password! @_@"
authtype basic
authuserfile /etc/httpd/userpasswd
require valid-user
2。
# htpasswd -c /etc/httpd/userpasswd aaa --创建此文件,并加入一个用户,自定义密码,注意此用户与系统普通用户无关
New password:
Re-type new password:
Adding password for user aaa
# htpasswd /etc/httpd/userpasswd bbb --再增加一个用户
New password:
Re-type new password:
Adding password for user bbb
# cat /etc/httpd/userpasswd
aaa:JscuRCtWV0Sh.
bbb:C6wrx4pFco/lk --密码为密文
3。
# vim /etc/httpd/conf/httpd.conf
<Directory "/www">
Options Indexes FollowSymLinks
AllowOverride all --改成all,支持.htaccess加密
Order allow,deny
Allow from all
</Directory>
4。
# /etc/init.d/httpd restart
http://IP 访问时,需要验证
再次访问需要清空浏览器缓存才需要验证
第二种做法:
# vim /etc/httpd/conf/httpd.conf
<Directory "/www">
Options Indexes FollowSymLinks
AllowOverride None --none不用改成all
Order allow,deny
Allow from all
authname "please input your username and password! @_@"
authtype basic
authuserfile /etc/httpd/userpasswd
require valid-user --把这四句直接加到这个目录标签里
</Directory>
2,
# htpasswd -c /etc/httpd/userpasswd aaa
3,
# /etc/init.d/httpd restart --重启后,验证,也可以
练习:针对家目录下的一个子目录打开验证
====================================
虚拟主机 --用apache或nginx就可以做
一台服务器跑多台web服务
VPS virtual private server 虚拟专用服务器 --使用虚拟化技术来做
使用虚拟化技术(vitural sever 或者 vmware EXS server )把一台服务器分隔成几个服务器,每个都拥有独立的CPU资源,内存资源,磁盘资源,独立IP等
mkdir /www/aaa
mkdir /www/bbb
mkdir /www/ccc
echo "aaa main page" > /www/aaa/index.html
echo "bbb main page" > /www/bbb/index.html
echo "ccc main page" > /www/ccc/index.html
例十二:基于IP的虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/aaa
ServerName 10.1.1.36
ErrorLog logs/36-error_log
CustomLog logs/36-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/bbb
ServerName 10.1.1.37
ErrorLog logs/37-error_log
CustomLog logs/37-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/ccc
ServerName 10.1.1.38
ErrorLog logs/38-error_log
CustomLog logs/38-access_log common
</VirtualHost>
[root@36 ~]# ifconfig eth0:0 10.1.1.37 netmask 255.255.255.0
[root@36 ~]# ifconfig eth0:1 10.1.1.38 netmask 255.255.255.0
[root@36 ~]# /etc/init.d/httpd restart
验证:
http://10.1.1.36/
http://10.1.1.37/
http://10.1.1.38/ --实际情况每个IP使用DNS对应自己的域名
缺点很明显:浪费IP地址资源
例十三:基于端口的虚拟主机
Listen 80 --这一句默认就有,不用再加
Listen 8000
Listen 8080
<VirtualHost *:80>
DocumentRoot /www/aaa
ServerName 10.1.1.36
ErrorLog logs/36-error_log
CustomLog logs/36-access_log common
</VirtualHost>
<VirtualHost *:8000>
DocumentRoot /www/bbb
ServerName 10.1.1.36
ErrorLog logs/37-error_log
CustomLog logs/37-access_log common
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot /www/ccc
ServerName 10.1.1.36
ErrorLog logs/38-error_log
CustomLog logs/38-access_log common
</VirtualHost>
/etc/init.d/httpd restart
验证:
http://10.1.1.36/
http://10.1.1.36:8000/
http://10.1.1.36:8080/
缺点:客户端访问时输入端口不方便,对客户端来说不够透明:还有就是开放端口多了,安全性降低
客户端
|
|
路由器
|
|
防火墙
|
|
反向代理
|
|
网站
例十四:基于域名的虚拟主机
--需要DNS的cname记录的支持,或者A记录
aaa.web.com
bbb.web.com
ccc.web.com
--以下架构是DNS服务器和apache服务器的IP在同一台机器10.1.1.36上,也可以考虑分成两台服务器来做
[root@36 ~]# yum install bind* -y
[root@36 ~]# vim /var/named/chroot/etc/named.conf
options {
directory "/var/named";
};
zone "web.com" IN {
type master;
file "data/master.web.com.zone";
};
[root@36 ~]# vim /var/named/chroot/var/named/data/master.web.com.zone
$TTL 86400
@ IN SOA sdfasdfsa. sfddsafas. (
2011032601
120
240
360
86400 )
IN NS sdfsafasfddfsa.web.com.
aaa IN A 10.1.1.36 --这里为apache服务器的IP
bbb IN CNAME aaa
ccc IN CNAME aaa
[root@36 ~]# /etc/init.d/named restart
[root@36 ~]# vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/aaa
ServerName aaa.web.com
ErrorLog logs/aaa-error_log
CustomLog logs/aaa-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/bbb
ServerName bbb.web.com
ErrorLog logs/bbb-error_log
CustomLog logs/bbb-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/ccc
ServerName ccc.web.com
ErrorLog logs/ccc-error_log
CustomLog logs/ccc-access_log common
</VirtualHost>
[root@36 ~]# /etc/init.d/httpd restart
--以下是客户端的验证
[root@li data]# vim /etc/resolv.conf
nameserver 10.1.1.36 --DNS指向DNS服务器的IP
http://aaa.web.com/
http://bbb.web.com/
http://ccc.web.com/
思考:
1。上面三个域名,那么我直接用IP是能否访问,访问的是哪一个?为什么?
答案:哪个虚拟主机在最前面,直接使用IP访问的就是哪一个
2。配置了虚拟主机后,那么我原来的DocumentRoot里指的原网站家目录是否还可用?如果不可用,如何解决?
答案:不能用。
除非再为原家目录再建立一个虚拟主机
==================================
扩展部分
使用第三方模块 实现apache限速
/share/soft/lamp/apache_source/mod-cband-0.9.7.2.tgz
/share/soft/lamp/apache_source/mod_cband.pdf --官方PDF文档
解压并CD进去进行编译
tar xvf mod-cband-0.9.7.2.tgz -C /usr/src/
cd /usr/src/mod-cband-0.9.7.2/
./configure ;make ;make install
确认/etc/httpd/conf/httpd.conf里是否自动加载了下面这句话
LoadModule cband_module /usr/lib/httpd/modules/mod_cband.so
针对虚拟主机new.cluster.com进行限速
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/aaa
ServerName news.cluster.com
ErrorLog logs/aaa.com-error_log
CustomLog logs/aaa.com-access_log common
cbandlimit 100M --指网站允许的总的下载流量
cbandperiod 1W --清空时间
cbandspeed 1024 10 30 --当前总带宽,每秒可以同时连接10个,最大的总连接数,1024在这里除以8就是kb每秒的单位
cbandremotespeed 10kb/s 3 3 --针对单一客户端下载速度为10kb/s,每秒可以同时3个连接,最多一个IP生成3个连接
<location /cband-status>
sethandler cband-status --使用http://IP/cband-status访问控制状态
</location>
<location /cband-status-me>
sethandler cband-status-me ----使用http://IP/cband-status-me访问控制状态
</location>
</VirtualHost>
/etc/init.d/httpd restart
dd if=/dev/zero of=/www/aaa/123 bs=1M count=1000 --创建一个大点的文件,做下载测试
wget http://news.cluster.com/123 --使用wget下载,发现被限速了
使用下面的URL地址访问状态信息页面
http://news.cluster.com/cband-status
http://news.cluster.com/cband-status-me
==========================================================
网站的日志切割
www.cronolog.org
软件包位置:
ls /share/soft/soft/log/
cronolog-1.6.2.tar.gz cronolog.pdf cronosplit.pdf
解压到任意目录,我这里是/usr/src/
# tar xvf cronolog-1.6.2.tar.gz -C /usr/src
# cd /usr/src
# cd /usr/src/cronolog-1.6.2/
编译安装
# ./configure ;make ;make install
1,先注释掉虚拟主机,虚拟主机需要每个都配,为了方便,这里注意掉,使用原来的web服务器配置
vim /etc/httpd/conf/httpd.conf
修改:
CustomLog logs/access_log combined
改成:
CustomLog "|/usr/local/sbin/cronolog /opt/%Y/%m/%d/access_log" combined
--注意格式不要写错
重启apache后,过几秒,或者访问一下apache
就会在/opt下产生了
关于日志合并
因为有些日志分析软件,它是只分析access.log;当要分析多个网站的access.log的总流量,就需要把它们的access.log合并一起,再由分析软件去分析这个合并的log文件
# sort -m -k 4 -o newaccess.log access_log access_log1
或者使用awstats这样的日志分析软件去做日志合并
==============================
================================
练习:
把自己系统对应的版本的iso里的文件挂载并拷贝到一个目录里(比如为/yum目录),
把ftp用户家目录设置为此目录,ftp保持默认配置(主要是要求允许匿名用户可登录,可下载就可以)
使其开机自动启动
2,继续配置你的httpd,让客户端在访问http://你的IP/yum 这个URL时,
会跳转到你的系统上的ftp用户的家目录(此家目录里放的就是iso里面所有文件
Alias /yum "/yum" --前面的/yum为跳转路径,后面的/yum为根下的实际的yum目录,里面是iso的所有的包
<Directory "/yum">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
3,将你所有的虚拟机或真实机的/etc/yum.repos.d/rhel-source.repo配置成ftp或者http式的yum,使它们能够使用你的配置正确的安装和移除软件包
[rhel-source]
name=rhel6.3
baseurl=http://172.16.2.35/yum
enabled=1
gpgcheck=0
- Windows下配置Apache服务器并支持php
php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要 ...
- Apache 服务器 基础知识小结
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软 ...
- Centos7 下搭建SVN + Apache 服务器
1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...
- Apache服务器网站访问伪静态内页出现No input file specified.的完美解决方案
原文地址:Apache服务器网站访问伪静态内页出现No input file specified.的完美解决方案 启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:&quo ...
- PHP环境配置-从Apache官网下载windows版apache服务器
由于个人有强迫倾向,下载软件都喜欢从官网下载,摸索了好久终于摸清楚怎么从Apache官网下载windows安装版的Apache服务器了,现在分享给大家. 进入apache服务器官网http://htt ...
- 【Apache大系】Apache服务器面面观
Apache 2.2 中文官方文档 1. 先看看百度百科对Apache的解释: apache(Web服务器)_百度百科 2. apache服务器本质上说是一个TCP socket服务,socket模型 ...
- apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for
apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for 在RedHat Linux 5 与 CentOS 5服务器上配置好apache后,启动或 ...
- Apache服务器性能监控
Apache服务器性能监控 1.使用自带mod_status模块监控 1)加载mod_status.so 模块 在httpd.conf中打开LoadModule status_module modul ...
- 在APACHE服务器上的访问方式上去除index.php
在APACHE服务器上的访问方式上去除index.php 下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index ...
随机推荐
- 第36课 经典问题(下)----关于string的疑问
实例1: 下面的代码输出什么,为什么? #include <iostream> #include <string> using namespace std; int main( ...
- springboot中的照片上传工具类
public class UploadImgUtils { private static String savePath = ""; /** * 上传照片工具类 * * @para ...
- 利用Git生成本机SSH Key并添加到GitHub中
本地仓库和github之间是通过SSH加密传输的,所以需要先到github中添加你本机的SSH Key 进行认证. 1.在桌面打开git命令窗口 2.输入“ssh-keygen -t rsa -C ...
- ipvsadm用法
其实LVS的本身跟iptables很相似,而且连命令的使用格式都很相似,其实LVS是根据iptables的框架开发的,那么LVS的本身分成了两个部分: 第一部分是工作在内核空间的一个IPVS的模块,其 ...
- 第十二周Scrum会议
本次照片 总结上周所达成的工作 做到的工作 1. 将前端页面进行了比较美观的美化 2. 实现了后台的代码的整合,同时将flask项目的整体框架搭建完成 3. 进行了数据库的建表等一些工作 遇到的难点 ...
- JVM的内存结构以及性能调优
JVM的内存结构以及性能调优 发布时间: 2017-11-22 阅读数: 16675 JVM的内存结构以及性能调优1:JVM的结构主要包括三部分,堆,栈,非堆内存(方法区,驻留字符串)堆上面存储的是引 ...
- Mybatis的Java API(八)
使用mybatis的主要Java接口就是SqlSession.可以通过这个接口来执行命令,获取映射器和事务管理. SqlSession是由SqlSessionFactory实例创建,SqlSessio ...
- UOJ Easy Round #5
Preface 本着刷遍(只刷一遍)各大OJ的原则我找到了一场UOJ的比赛 无奈UOJ一般的比赛难度太大,我就精选了UER中最简单的一场打了一下,就当是CSP前的练习吧 A. [UER #5]万圣节的 ...
- SUDO_KILLER可以帮助你识别并利用错误的Sudo规则与配置
工具概述 SUDO_KILLER这款工具可以帮助我们通过多种渠道利用SUDO来在Linux环境下实现提权.该工具能够识别目标操作系统版本,并发现环境中sudo规则的错误配置.安全漏洞,以及不安全的代码 ...
- windows下mysql安装和配置
历史版本下载地址安装,解压添加环境变量使用cmd中操作mysql进程修改mysql的配置附录:设置mysql随开机自启 TOC 历史版本下载地址 windows的mysql历史版本,推荐使用5.6版本 ...