apache-实战(一)
Apache
1.html的完整格式
# vim /var/www/html/index.html
<html>
<head>
<title>我要</title>
</head>
<body>
<center><h1>这铁棒有何用?</h1></center>
</body>
</html>
#写到网站根目录下的index.html下,然后看看能不能访问,不能就自个找原因去
2.修改网站根目录
#vim /etc/httpd/conf/httpd.conf
DocumentRoot "/www" --修改网站根目录为/www
<Directory "/www"> --把这个也对应的修改为/www
# /etc/init.d/httpd reload --这是刷新不是重启服务器
# mkdir /www -- 建立httpd服务的根目录
# echo 'Hello World' > /www/index.html --修改根目录后,重写一个主页文件到/www,然后自己测试
3.修改主页类型或者主页名
#vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.php index.html.var --定义主页文件支持的格式,将其改一下
# echo 'php main page' > /www/index.php
再次访问
4.修改语言集和字符集
vim /etc/httpd/conf/httpd.conf
685 DefaultLanguage zh-CN --默认语言集打开注释,并改为简体中文zh-CN
743 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写到最前
759: AddDefaultCharset UTF-8 --字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异
常见的可以显示中文的字符集有:gbk,gb2312,gb18030,utf-8
--扩展:
windows默认的字符集是gb2312
linux默认的字符集是utf-8
##########一点小知识########
关于apache的标签,容器(访问控制)
directory (目录) files(文件) 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 --指定允许所有
########小知识结束#########
5.把网站的文件修改成目录列表的形式
条件1.Options Indexes FollowSymLinks --相应目录要有indexes参数(将一个目录指定为httpd服务的家目录)
条件2.没有主页文件
条件3.符合上面两个条件,就会访问到redhat的欢迎页面
# vim /etc/httpd/conf.d/welcome.conf --注释掉这个欢迎页面,或者是删除它
# /etc/init.d/httpd reload --重新装载httpd服务
# elinks 127.0.0.1 --可以看到是以列表形式显示了
6.访问权限控制 --注意这些访问权限控制是针对容器的
Order allow,deny
Allow from all --允许所有
Order allow,deny
deny from all --拒绝所有
Order allow,deny
allow from all
deny from 10.0.0.2 --允许所有,但拒绝此IP
Order deny,allow
deny from all
allow from 10.0.0.2 --拒绝所有,但允许此IP
Order allow,deny
allow from all
deny from all --拒绝所有
Order allow,deny
deny from all
allow from all --还是拒绝所有
Order allow,deny
deny from all
allow from 10.0.0.2 --仍然是拒绝所有
7.files 容器 --针对文件的控制
<Directory "/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
<files "1"> --表示2这个客户端不能访问/www/1,而且如果要控制/www/bbs/1这个文件,不能在这里写成<files "bbs/1">,需要在/www/bbs这个目录的directory容器里再嵌套files标签来控制
order allow,deny
allow from all
deny from 10.0.0.2
</files>
</Directory>
<files "/www/1">
order allow,deny
deny from all
</files> --这种写法没有生效,不对,所以要files容器嵌套到目录容器内部,要上面的那种写法
<files "1">
order allow,deny
deny from all --整个文档目录都生效
</files>
--下面这段是apache的默认的一个files容器的配置示例
<Files ~ "^\.ht"> --以.ht开头的文件不被客户端用户看到 ~是匹配
Order allow,deny
Deny from all
</Files>
注意:Files容器对配置的目录以及子目录起作用,对上一级目录没有影响
Files容器不在任何一个目录,将会对整个数据目录起作用
8.location 容器(对URL进行控制)
<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的优先级要高
9.对网站目录使用apache的基本验证(一般指使用用户名和密码来确认这个用户的身份)功能
1. .htaccess
# vim /www/.htaccess --对哪个目录进行限制,就在哪个目录下建立此文件
authname "please input your username and password! @_@"
authtype basic
authuserfile /etc/httpd/userpasswd
require valid-user
# vim /etc/httpd/conf/httpd.conf
<Directory "/www">
Options Indexes FollowSymLinks
AllowOverride all --改成all,支持.htaccess加密
Order allow,deny
Allow from all
</Directory>
2.htpasswd
htpasswd -c /etc/httpd/userpasswd aaa --创建此文件,并加入一个用户,自定义密码,注意此用户与系统普通用户无关
New password:
Re-type new password:
Adding password for user aaa
# htpasswd /etc/httpd/userpasswd bbb --再增加一个用户,文件已经存在,无需在创建,所以不需-c参数
New password:
Re-type new password:
Adding password for user bbb
# cat /etc/httpd/userpasswd
aaa:JscuRCtWV0Sh.
bbb:C6wrx4pFco/lk --密码为密文
10.apache的alias跳转(可以将不是网站家目录的目录加入进来)
# vim /etc/httpd/conf/httpd.conf
Alias /test "/test"
<Directory "/www">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
可以做Alias跳转,也可以做软链接
11.错误页面
ls /var/www/error/404.jpg --准备一个图片放到这个位置
# vim /etc/httpd/conf/httpd.conf --修改主配置文件,指向你的这个图片路径
ErrorDocument 404 /error/404.jpg
# /etc/init.d/httpd restart
====================================
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[ OK ]
出现以上情况,就是没绑定主机名
# hostname www.cluster.com
# vim /etc/sysconfig/network
HOSTNAME=www.cluster.com
# vim /etc/hosts
10.0.0.61 www.cluster.com
启动apache遇到错误:httpd: Could not reliably determine the server's fully qualified domain name
编辑httpd.conf文件,搜索"#ServerName"(大概在276行)
# vim /etc/httpd/conf/httpd.conf
ServerName www.example.com:80 --将这行的注释打开就好了
ServerName localhost:80
再重新启动apache 即可。
# service httpd restart
12.301跳转加禁止IP访问
禁止IP访问
<VirtualHost *:>
ServerName 192.168.1.1 #本机IP
<Location />
Order Allow,Deny #全部拒绝
Deny from all
</Location>
</VirtualHost>
301跳转
RewriteEngine on
RewriteCond %{http_host} ^http.com [NC] #输入的域名
RewriteRule ^(.*)$ http://www.http.com/$1 [R=301,L] #跳转后的
DirectoryIndex index.html index.php index.htm
apache-实战(一)的更多相关文章
- 练手nginx反向代理和负载均衡apache实战
先说下原理性的 什么是反向代理 用户访问域名 域名的指向到nginx nginx把请求转发到apache apache处理后 返回给用户 整套的逻辑 对于用户来说 就是访问域名 然后返回 没 ...
- Apache Spark技术实战之4 -- 利用Spark将json文件导入Cassandra
欢迎转载,转载请注明出处. 概要 本文简要介绍如何使用spark-cassandra-connector将json文件导入到cassandra数据库,这是一个使用spark的综合性示例. 前提条件 假 ...
- Apache Spark技术实战之3 -- Spark Cassandra Connector的安装和使用
欢迎转载,转载请注明出处,徽沪一郎. 概要 前提 假设当前已经安装好如下软件 jdk sbt git scala 安装cassandra 以archlinux为例,使用如下指令来安装cassandra ...
- PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战
原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置: 程序准备: PHP windows版本下载地址: http://windows.php. ...
- Apache Curator入门实战
Apache Curator入门实战 Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeep ...
- DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优
胡夕 <Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...
- Apache Atlas元数据管理从入门到实战(1)
一.前言 元数据管理是数据治理非常重要的一个方向,元数据的一致性,可追溯性,是实现数据治理非常重要的一个环节.传统数据情况下,有过多种相对成熟的元数据管理工具,而大数据时代,基于hadoop,最为 ...
- Apache Beam WordCount编程实战及源码解读
概述:Apache Beam WordCount编程实战及源码解读,并通过intellij IDEA和terminal两种方式调试运行WordCount程序,Apache Beam对大数据的批处理和流 ...
- Apache Spark技术实战之6 --Standalone部署模式下的临时文件清理
问题导读 1.在Standalone部署模式下,Spark运行过程中会创建哪些临时性目录及文件? 2.在Standalone部署模式下分为几种模式? 3.在client模式和cluster模式下有什么 ...
- Apache Beam实战指南 | 手把手教你玩转KafkaIO与Flink
https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247492538&idx=2&sn=9a2bd9fe2d7fd6 ...
随机推荐
- HDU 6301 (贪心+优先队列)
题目大意: 求一个长度为n的数列, 给出m个区间,这m个区间各自区间内的数不同 题解: 用优先队列来模拟过程 , 解题思路是想到了 , 可是不知道如何实现 , 果然还须继续努力呀 这道题思路是去掉重复 ...
- 螺旋队列(p98)
先判断这个坐标代表的数位于哪一层,然后依据该层最大的数去计算这个坐标所代表的数. #include"iostream" #include"stdio.h" #i ...
- TCP/IP协议分为哪四层,具体作用是什么。
TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP).文件传输协议(FTP).网络远 ...
- C#中if和#if区别
if的作用是程序流控制,会直接编译.执行.#if是对编译器的指令,其作用是告诉编译器,有些语句行希望在条件满足时才编译. --------------------------------------- ...
- DEM、DSM、DOM 名词解释
1.DEM(Digital Elevation Matrix) 数字高程矩阵. 数字高程模型(Digital Elevation Model,缩写DEM)是一定范围内规则格网点的平面坐标(X,Y)及其 ...
- 在nginx上部署django项目--------Gunicorn+Django+nginx+mysql
一.安装nginx 以前的博客我有写,这里就不写了 http://www.cnblogs.com/wt11/p/6420442.html 二.安装mysql 我用的mysql5.7 64位的二进制包 ...
- django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用
一.modelForm操作及验证 1.获取数据库数据,界面展示数据并且获取前端提交的数据,并动态显示select框中的数据 views.py from django.shortcuts import ...
- SpringSecurity 3.2入门(10)自定义权限控制认证及授权的过程
上一章的代码实现还存在一些问题,如角色表.权限表的用处没有体现出来,但是已经能完成URL拦截功能,后面将会继续完善认证及授权的过程. 认证及授权的过程如下: 1.容器启动,MyInvocationSe ...
- Java使用TCP聊天程序
前面使用了UDP进行通信的聊天程序 现在做一个用TCP进行通信的聊天程序 原理: ServerSocket Socket 1.开一个线程监听端口,准备接收消息 2.不断接受消息发送到目的端口 P.S. ...
- mysql二:库操作
一.系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 performance_schema: My ...