文档章节

Apache

o
 osc_3n35hvex
发布于 2019/05/23 11:37
字数 2320
阅读 23
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

Apacche web服务器(lamp架构)

http超文本协议

统一资源标识符 URI

统一资源定位符 URL

其实包含了这些东西

http://www.sina.com.cn:80/admin/index.php

ssl 安全套接字(声明一个协议)

http:// 

域名

www.sina.com.cn

端口

:80

http对应80端口,https对应443端口

网址目录和文件名

/admin/index.php

apache三种工作模式

httpd –V

即可查看工作模式,但需先下载此命令 

yum install httpd -y

prefork:一个进程处理一个用户请求

  比如说一千个用户访问我的网站,那我就要有一千个进程来处理用户的请求,这个时候就带来了一个很大的问题,每个进程就消耗的系统资源多,如果说你的访问量非常大的话,系统资源可能会承受不住,它并不擅长高并发请求,什么是高并发请求,就是在一定时间内,你单台服务器能够承载的访问量。

Worker:一个进程生成了多个线程(比进程利用的系统资源少),每个线程里面都有它的子进程。适合在高并发下使用,但线程安全问题比较突出。

Event:改善了worker工作模式,他有单独的工作模块。

Apache基本信息

apache为企业中常用的web服务,用来提供http://(超文本传输协议)

主配置目录

/etc/httpd/conf

主配置文件

/etc/httpd/conf/http.conf

子配置目录

/etc/httpd/conf.d

子配置文件

/etc/httpd/conf.d/*.conf

默认发布目录,网站根目录,就是说你想把你这个网站的东西发布出去给谁看,你要把你这个包全都放到这个目录下面,别人才能看得到。

/var/www/html/

默认发布文件

index.html

默认端口:80

网站状态返回码

200: 代表上传成功

304: 代表缓存

403: 代表没有权限

404: 代表你网站根目录的东西定义错了

500: 代表服务器内部错误

503: 代表服务器暂时不可用

什么是LAMP 就是 Linux Apache Mysql / MaraiDB PHP

常见的apache架构:lamp、lnmp、lnmmp、lammp

Apache和mysql使用的是CGI协议进行通信,php和mysql使用的是php_mysql协议进行通信。Apache不能直接和mysql直接通信。

编译安装apache

先安装apache依赖包

yum install gcc gcc-c++ ncurses-deve  ncurses pcre pcre-devel openssl-devel zlib-devel -y

第一步

将三个压缩包包传至root用户家目录,apr-1.5.2.tar  apr-util-1.5.4.tar httpd.2.4.20.tar

第二步

将三个压缩包解压至当前路径下

第三步

先编译apr-1.5.2 cd apr-1.5.2

列出当前路径下的所有文件

首先找configure这个文件

第四步

./configure --prefix=/usr/local/apr

这步是检查依赖关系并进行安装,如果依赖关系解决,会进行下一步,如果依赖关系没有解决,会报错要求解决依赖关系。–prefix是指定安装路径,它默认的安装路径是/usr/local。

第五步:

这一步会报错

看到C compiler是缺少gcc编译器,直接下载即可。

第六步

下载完后再进行编译即可。

第七步

编译的意思

make

第八步

安装的意思

make install

第九步

返回至root用户家目录

cd apr-util-1.5.

第十步

列出当前路径下的所有文件,找configure这个文件

第十一步

./configure --with-apr =/usr/local/apr  --prefix=/usr/local/apr-util

第十二步

make && make install

第十三步

返回至root用户家目录

cd httpd-2.4.20

第十四步

列出当前路径下的所有文件,找configure这个文件

第十五步

./configure --prefix=/usr/local/httpd2.4 \

--with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util \

--enable-cache \

--enable-so \

--enable-ssl \

--enable-static-ab \

--with-mpm=worker \

第十六步

会出现一个错误,缺少两个安装包

yum install pcre pcre-devel -y

第十七步:下载完两个两个安装包在进行上步安装,还会报错

yum install openssl-devel -y

第十八步

make && make install

第十九步

编译安装的要定义启动和停止命令

停止命令的一种方法

先使用

ps aux | grep httpd

查看这个程序的pid

再用

kill -9

结束掉

启动的方法

进入

/usr/local/httpd2.4/bin

这个目录里面的apachectl就是命令

启动:前提是在当前目录下启动

./apachectl star

停止:在当前目录下停止

./apachectl stop

我不能每次启动跟停止都进入做个目录执行这个命令,那么我们就要有其他的办法。

首先复制

/usr/local/httpd2.4/bin

这个路径

而后进入这个目录

/etc/profile.d

这个目录里有很多的.sh结尾的文件,我们只要定义一个任意开头,.sh结尾文件,写入如下内容:

export   PATH=/usr/local/httpd2.4/bin:$PATH

而后加载

source /etc/profile.d/刚才编辑文件名

编辑配置文件(yum安装)

打开主配置文件

vim /etc/httpd/conf/httpd.conf
ServerRoot “/etc/httpd”:服务器目录

Listen 80 :监听80端口

<Directory />

        allowOveride none
       
        Require all denied

</Directory>

#这里定义了“/”就是网站根目录

DocumentRoot “/var/www/html”:定义了网站根目录的路径

DirectoryIndex index.html #把index.html写在了这里,访问网站的时候就不用写index.html。

Customlog "log/access_log" #日志 路径:/var/log/httpd 

yum 下载的apache 

子配置文件

/etc/httpd/conf.d

配置文件里面有一个welcome.conf就是testing123….这个界面的配置文件,如何把它搞掉,注释掉8至22行即可不显测试页面。他会显示这个界面:

Index of /
    
    Name Last modified Size Description

如何改写这个界面,cd /var/www/html,vim index.html,内容写你想说的话即可。

Not Found

The requested URL /jadjal was not found on this server     #出现这个图片如何改写,就是说找不到网页的时候。
开主配置文件

#ErrorDocument 500 "The server made a boo boo."

#ErrorDocument 400 /missing.html

#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402  http://www/example.com/subscription_info.html

将注释取消掉,将500改成404即可。
#ErroDocument 404 /missing.html     定义成文件,/里的斜杠代表网站根目录。

#ErroDocument 404 https://www.cnblogs.com/shuaiyin/ 跳转网页

重定向

Redirect permanent /foo http://www.example.com/bar

Redirect permanent /foo 要跳转的网址

  你虽然在我这台服务器上搜foo的时候,就会自动跳转到后面的网址上去,虽然是在我这个网址上的请求,但我把请求分发到了另一台服务器上去,给你提供服务。实现多台服务器为你提供服务。 

Ip/pv/uv

IP就是独立IP数,其实并不精确,IPV4是有限的

Pv页面被刷新的次数

Uv一个用户就是一个uv

基于端口创建虚拟主机

编辑/etc/httpd/conf/httpd.conf这个文件,在最后添加两台虚拟主机:

<VirtualHost  *:81>
DocumentRoot /var/www/ken1
DirectoryIndex index.html
</VirtualHost>
<VirtualHost  *:82>
DocumentRoot /var/www/ken2
DirectoryIndex index.html
</VirtualHost>

一对virtuahost就是一台虚拟主机,/表示结尾,*代表任意IP,

而后将81和82两个端口添加上去

此时用一个命令,httpd –t 来检查编辑的文本有没有错,从而进行排错。

记住要给测试文件:

echo "ken1" > /var/www/ken1/index.html

echo
"ken2" > /var/www/ken2/index.html
echo
"ken3" > /var/www/ken3/index.html

而后访问ip加端口号即可。

基于域名创建虚拟主机

编辑/etc/httpd/conf/httpd.conf这个文件,在最后添加,
两台虚拟主机

<VirtualHost 192.168.64.5>

DocumentRoot /var/www/html

ServerName www.ken1.com

DirectoryIndex  index.html

</VirtualHost >

  而后重启服务,但还是访问不到,需要将IP跟域名添加到/etc/hosts这个文件里即可,但这也是只能linux系统可以访问,不能windows系统访问,需要打开我的电脑,c盘,windows,system32,drivers,etc,里面有个hosts文件,把它剪切到桌面上修改,打开后将IP跟域名添加进去即可,然后在剪切回去即可。

curl 域名

也可以直接访问

上线静态网站

先传压缩包

下载unzip

yum install unzip –y

上线网站需要把包放到网站的根目录

而后把你里面的index文件删除,把game文件放到外面。

打开网站时记得加后缀。后缀是开发包。

上线动态网站

第一步

yum install php php-mysql mariadb-server -y

第二步

把之前网站根目录下的包删完

第三步

把wordpress放到网站根目录下,并把里面的内容全部拿到外面来

第四步

cp wp-config-sample.php  wp-config.php

第五步

vim wp-config.php

第六步

启动数据库

systemctl start mariadb

第七步

mysql –uroot

第八步

create database 之前配置文件定义的用户名;

第九步

grant all on *.*  to 用户名@“localhost”  identified by “密码”;

第十步

flush privileges;

第十一步

vim /etc/httpd/con/httpd.conf

第十二步

<VirtualHost 192.168.64.5>

DocumentRoot /var/www/html

ServerName www.ken1.com

DirectoryIndex index.php index.html

<VirtualHost 192.168.64.5>

第十三步

systemctl restart httpd

第十四步

访问网站即可

增加步骤(编译安装apache上线动态需要下列步骤):

打开配置文件

vim /usr/local/httpd2.4/conf/httpd.conf

添加

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/httpd2.4/htdocs/

把代理模块开启

搜索proxy

把mod_proxy.so和mod_proxy. fcgi. so的注释取消掉

而后下载

yum install php-fpm -y

添加源 7yum.repo

启动php-fpm 

systemctl start php-fpm

怎么统计哪些IP频繁访问我

/var/log/httpd/access_log  #在这个日志里怎么把IP筛选出来

cat /var/log/httpd/access_log | awk -F "  +" '{print $1}' | grep -E -v ":+" | sort | uniq -c
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.9K
1
DKPro Core

DKPro Core 是基于 Apache UIMA 框架之上的自然语言处理(NLP)的软件组件。DKPro Core 提供了这样的第三方工具以及原NLP组件的包装。 DKPro核心建立在很大程度上uimaFIT可以快速方便的开发N...

匿名
2012/10/24
1.8K
0
Apache Curator

zookeeper 的客户端调用过于复杂,Apache Curator 就是为了简化zookeeper客户端调用而生,利用它,可以更好的使用zookeeper。

李旸
2012/11/27
9.8K
0
Hadoop 资源管理器--Apache YARN

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,前不久被提升为高层次的Hadoop子项目。 YARN最初是为了修复MapReduce实现里的明显...

匿名
2012/12/20
3.5K
0
Hadoop 管理监控工具--Apache Ambari

Apache Ambari 是一个基于 Web 的 Apache Hadoop 集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。 Ap...

匿名
2012/12/25
2.9W
3

没有更多内容

加载失败,请刷新页面

加载更多

利用Numpy中的ascontiguousarray可以是数组在内存上连续,加速计算

1. 概述 在使用Numpy的时候,有时候会遇到下面的错误: AttributeError: incompatible shape for a non-contiguous array 看报错的字面意思,好像是不连续数组的shape不兼容。 有的时候,在看...

osc_9we1w99u
12分钟前
0
0
如何管理客户的期望值?

根据客户关系管理(CRM)中的三角定律,客户满意度=客户体验-客户期望值。客户期望值与客户满意度成相对反比,因此需要引导客户期望值并维持在一个适当的水平,同时客户期望值需要与客户体验协...

cailisuper
今天
0
0
阿里研究员:软件测试中的18个难题

阿里QA导读:对于软件测试来说,怎么样才算测够了?如何评价测试的有效性?那么多测试用例,以后怎么删?在软件测试中会遇到非常多的问题,阿里研究员郑子颖分享了18个他总结出的难题以及相关...

阿里巴巴技术质量
昨天
0
0
Numpy的常用函数总结

1、np.argmax()、np.max()、np.argmin()、np.min()用法: argmax返回的是最大数的索引.argmax有一个参数axis,默认是0。看二维的情况如下: a = np.array([[1, 5, 5, 2],            ...

osc_auwur47t
14分钟前
0
0
【报告分享】2020抖音进阶-挑战赛2.0产品营销方案.pdf(附下载链接)

大家好,我是文文(微信:sscbg2020),今天给大家分享抖音营销中心出品的《2020抖音进阶-挑战赛2.0产品营销方案.pdf》,方案里面的玩法解析、案例、营销重点分析等都很清晰,对短视频及品牌...

智能推荐系统
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部