Centos 6.5 Apache服务安装
Apache是什么:
Apache HTTP Server(简称Apache)是Apache软件基金会的一个高性能、功能强大、稳定可靠、又很灵活的开发源代码的web服务软件,对linux的支持相对好,有很多产品可以支持ssl技术,支持多个虚拟主机,到目前为止,市场占有率44.9%,世界上很多注明的网
站如百度、阿里、淘宝、亚马逊、雅虎等都有在使用apache服务,它的成功之处主要在于他的开源、有一支开发的开发队伍、支持跨平台的应用(几乎可以在所有的windows、linux、unix系统运行)以及它的可移植性等是当前互联网最流行的web服务端软件之一。
Apache源于NCSA httpd服务,经过多次修改,成为世界上最流行的web服务器软件之一,Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修复原来的缺陷,才成为我们今天使用的安全稳定的web服务器。
注:以上web serve排行信息来源于https://w3techs.com/technologies/overview/web_server/all
Apache的特点及应用场合:
优点:
- 功能强大
- 配置简单
- 速度快
- 应用广泛
- 性能稳定可靠
- 可做代理服务器或负载均衡来使用
应用场合:
- 使用apache运行静态html网页、图片(处理静态小文件能力不及nginx)
- 使用apache结合php引擎运行php、perl、Python等程序,LAMP被称之为经典组合。
- 使用apache结合tomcat/resin运行jsp,java等程序,成为中小型企业的首先。
- 使用apache做代理、负载均衡rewrite规则过滤等等。
提示:
进年来,网上比较流行的nginx server,对于提供纯静态小文件HTML页、图片等服务,Apache确实要不nginx逊色一些,但在结合PHP引擎提供php服务及其它很多方面并不比nginx差,而apache的稳定性更好,这也是为什么Apache服务排名仍然第一的原因之一。
下面我们来安装Apache服务:
环境→系统:centos 6.5 软件:httpd-2.2.27.tar.gz
- [root@bqh- tools]# wget http://archive.apache.org/dist/httpd/httpd-2.2.27.tar.gz
- [root@bqh- tools]# ll
- 总用量
- -rw-r--r-- root root 7月 : httpd-2.2..tar.gz
- [root@bqh- tools]# tar xf httpd-2.2..tar.gz
- [root@bqh- tools]# ll
- 总用量
- drwxr-xr-x nginx 3月 httpd-2.2.
- -rw-r--r-- root root 7月 : httpd-2.2..tar.gz
- [root@bqh- tools]# cd httpd-2.2.
- [root@bqh- httpd-2.2.]# ./configure \
--prefix=/application/apache2.2.27
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-modules=most \
--enable-so \
--with-mpm=worker \
--enable-rewrite
参数解释:
--prefix=/application/apache2.2.27 安装路径,默认路径为/usr/local/apache2
--enable-deflate 提供对内容的压缩传输编码支持,一般html,js,css等内容的站点,用此参数功能会大大提高传输速度,提升访问者访问体验,调优选项之一
--enable-expires 激活允许通过配置文件控制http的"Expires:"和"Cache-Control:"头内容,即对网站图片、js、css等内容,提供在客户端浏览器缓存的设置,调优选项之一
--enable-headers 提供允许对http请求头的控制
--enable-modules=most 可以将一些不常用的,不在缺省常用模块中的模块编译进来
--enable-so 激活apache服务的DSO(全称Dynamic Shared object,动态共享对象)支持,即在以后可以以DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译
--with-mpm=worker 选择apache mpm的模式为worker模式,因worker模式原理是更多的使用线程来处理请求,所有可以处理更多的并发请求,而系统资源的开销小于基于进程的MPM prefork。如果不指定此参数,默认的模式是prefork的进程模式,虽然消耗资源,但是更稳定,因此,选择prefork进程模式而不选择worker模式也是可以考虑的,调优选项之一
--enable-rewrite 提供基于URL规则的重写功能,即根据已知URL地址,转换其他想要的URL地址,伪静态模块。调优必选项
- [root@bqh-119 httpd-2.2.27]# make
...- ......此处省略
- [root@bqh- httpd-2.2.]# echo $?
- [root@bqh- httpd-2.2.]# make install
- Making install in srclib
- make[]: Entering directory `/root/tools/httpd-2.2./srclib'
- Making install in apr
- make[]: Entering directory `/root/tools/httpd-2.2./srclib/apr'
- make[]: Entering directory `/root/tools/httpd-2.2./srclib/apr'
- make[]: Nothing to be done for `local-all'.
- make[]: Leaving directory `/root/tools/httpd-2.2./srclib/apr'
- /root/tools/httpd-2.2./srclib/apr/build/mkdir.sh /application/apache2.2.27/lib /application/apache2.2.27/bin /application/a
- pache2.2.27/build \
- ...
- ......此处省略
- mkdir /application/apache2.2.27/logs
- Installing CGIs
- mkdir /application/apache2.2.27/cgi-bin
- Installing header files
- Installing build system files
- Installing man pages and online manual
- mkdir /application/apache2.2.27/man
- mkdir /application/apache2.2.27/man/man1
- mkdir /application/apache2.2.27/man/man8
- mkdir /application/apache2.2.27/manual
- make[]: Leaving directory `/root/tools/httpd-2.2.'
- [root@bqh- httpd-2.2.]# echo $?
做个软连接(快捷方式)便于区分当前使用版本、安全考虑隐藏版本、方便以后升级等:
- [root@bqh- httpd-2.2.]# ln -s /application/apache2.2.27/ /application/apache
- [root@bqh- httpd-2.2.]# ll /application/
- 总用量
- lrwxrwxrwx root root 7月 : apache -> /application/apache2.2.27/
- drwxr-xr-x root root 7月 : apache2.2.27
到此,Apache服务安装已完成。
查看编译的生效模块:/application/apache/bin/apachectl -l
启动前检查配置文件语法:/application/apache/bin/apachectl -t
启动Apache服务:/application/apache/bin/apachectl start
重启Apache服务:/application/apache/bin/apachectl graceful
查看服务状态:lsof -i:80 或 ps -ef|grep httpd
- [root@bqh- httpd-2.2.]# /application/apache/bin/apachectl -t
- httpd: apr_sockaddr_info_get() failed for bqh-
- httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
- Syntax OK
- [root@bqh- httpd-2.2.]# /application/apache/bin/apachectl start
- httpd: apr_sockaddr_info_get() failed for bqh-
- httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
- [root@bqh- httpd-2.2.]# lsof -i:
- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
- httpd root 4u IPv6 0t0 TCP *:http (LISTEN)
- httpd daemon 4u IPv6 0t0 TCP *:http (LISTEN)
- httpd daemon 4u IPv6 0t0 TCP *:http (LISTEN)
- httpd daemon 4u IPv6 0t0 TCP *:http (LISTEN)
- [root@bqh- httpd-2.2.]# ps -ef|grep httpd
- root : ? :: /application/apache2.2.27/bin/httpd -k start
- daemon : ? :: /application/apache2.2.27/bin/httpd -k start
- daemon : ? :: /application/apache2.2.27/bin/httpd -k start
- daemon : ? :: /application/apache2.2.27/bin/httpd -k start
- daemon : ? :: /application/apache2.2.27/bin/httpd -k start
- root : pts/ :: grep httpd
我们用curl 测试一下:(192.168.0.119为安装apache的服务器的ip地址)
- [root@bqh- httpd-2.2.]# curl 192.168.0.119
- <html><body><h1>It works!</h1></body></html>
浏览器测试一下:
ok,到此apache服务安装成功!
注:如果未显示It works的页面,请查看是否关闭了iptables防火墙和selinux。
关闭防火墙:/etc/init.d/iptables stop
允许通过防火墙:iptables -I INPUT -p tcp --dprot 80 -j ACCEPT
临时关闭selinux,可执行:
setenforce 0 // 设置selinux状态 1启用,0警告、不启用。
getenforce //检查selinux状态是否生效
永久关闭selinux功能:
cat /etc/selinux/config
cp /etc/selinux/config /etc/selinux/config.root
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
如果要部署网站服务,需要把开发好的程序全部放置:/application/apache/htdocs
- [root@bqh- ~]# cd /application/apache/htdocs/
- [root@bqh- htdocs]# vim index.html
- [root@bqh- htdocs]# cat index.html
- <html>
- <head><title>bqh blog</title></head>
- <bldy>
- Hello, welcome to bqh's blog. This is my blog address.
- <a href="https://www.cnblogs.com/su-root/#top">https://www.cnblogs.com/su-root/#top</a>
- <br></br>
- Email:@qq.com
- </body>
- </html>
-------------------------------------------------
优化httpd.conf配置文件,避免暴露目录结构:
- [root@bqh- conf]# sed -n '132,160p' httpd.conf
- <Directory "/application/apache2.2.27/htdocs">
- #
- # Possible values for the Options directive are "None", "All",
- # or any combination of:
- # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
- #
- # Note that "MultiViews" must be named *explicitly* --- "Options All"
- # doesn't give it to you.
- #
- # The Options directive is both complicated and important. Please see
- # http://httpd.apache.org/docs/2.2/mod/core.html#options
- # for more information.
- #
- Options Indexes FollowSymLinks #如果没有首页的情况下会展示目录结构、 建议把Indexes删除 或改为-Indexes 、如果把目录展示禁用后、没有首页的情况下会报错403
- #
- # AllowOverride controls what directives may be placed in .htaccess files.
- # It can be "All", "None", or any combination of the keywords:
- # Options FileInfo AuthConfig Limit
- #
- AllowOverride None
- #
- # Controls who can get stuff from this server.
- #
- Order allow,deny
- Allow from all
- </Directory>
- [root@bqh- conf]#
Apache服务目录结构简要说明:
bin启动文件目录说明:
conf配置文件目录说明:
站点存放目录、日志存放目录、模块目录说明:
Centos 6.5 Apache服务安装的更多相关文章
- CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户
CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户 一.安装ftp服务 1.检查是否已经安装 # rpm -qa | grep ftp ftp-0.17-54.el6.x86_64 vs ...
- 超详细 值得收藏 linux CentOS 7 配置Apache服务【转发+新增】
一.Apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有 ...
- Apache服务安装及一些基本操作
注意:安装apache服务之前记得搭建yum仓库 1.安装apache服务,输入命令“yum install httpd” 安装成功后,会这样显示 2.需要对Apache服务进行启动,输入命令“sys ...
- python CGI编程---Apache服务安装(2)
一.下载Apache 下载地址:https://www.apachehaus.com/cgi-bin/download.plx 我这里下载第一个,我电脑是window的64位. 下载完成后,解压到 我 ...
- CentOS 7下Samba服务安装与配置详解
1. Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共 ...
- 阿里云Centos 7 FTP(vsftp)服务安装及配置
#检查vsftpd是否安装 rpm -qa | grep vsftpd #检查vsftpd版本并安装 yum list vsftpd yum install vsftpd #设置开机启动 system ...
- 【Apache】Apache服务的安装(一)
Apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行 ...
- (转)CentOS 7.6 上编译安装httpd 2.4.38
原文:https://www.s4lm0x.com/archives/40.html https://www.cnblogs.com/sunshine-H/p/8110608.html----超详细 ...
- [转载]Ubuntu下apache的安装与配置
原文地址:https://blog.csdn.net/gatieme/article/details/53025505 1 安装apache 在 Ubuntu 上安装 Apache,有两种方式 使用源 ...
随机推荐
- Spring cloud微服务安全实战-3-4 API安全机制之认证(1)
本节开始讲认证相关的东西.注意事项,出现问题的对应的解决方案. 先写用户注册的服务,注册一些用户信息进去.注册也是我们安全体系的一部分 注册 UserController里面的create方法 先修改 ...
- 转 Zabbix 3.2.6通过SNMP和iDRAC监控DELL服务器
https://www.cnblogs.com/saneri/p/7772641.html
- centos 7 修改计算机名
[root@centos7 ~]$ hostnamectl set-hostname test.xyz.com # 使用这个命令会立即生效且重启也生效 [root@centos7 ~]$ host ...
- IE浏览器提示打印控件未安装的一些原因
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入.--该提示是写在LodopFuncs.js里的.相关本博客其他博文:提示“Web打印服务CLodop未安装启动”的各种原因和解决方法.C- ...
- css样式圆角和一定的透明度
css样式里可以用border-radius把div或图片变成带有一定圆角的,如果是div本身是正方形,设置圆角度是百分之五十,就是圆形. border-radius:值可以是具体的px数值,也可以是 ...
- 【Leetcode_easy】1160. Find Words That Can Be Formed by Characters
problem 1160. Find Words That Can Be Formed by Characters solution class Solution { public: int coun ...
- Java基础教程:多线程基础(5)——倒计时器(CountDownLatch)
Java基础教程:多线程基础(5)——倒计时器(CountDownLatch) 引入倒计时器 在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种 ...
- 【嵌入式硬件Esp32】(1)例程Hello World Example 注释
/* Hello World Example This example code is in the Public Domain (or CC0 licensed, at your option.) ...
- 2019年Java面试题基础系列228道(4)
1.Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组,将会受到 vo ...
- PDO 查询mysql返回字段int变为String型解决方法
PDO 查询mysql返回字段int变为String型解决方法使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...