shuijingping 发表于 2018-11-23 09:35:38

linux apache服务器的安装

  Apache服务器的安装与部署
Apache的服务httpd查询与卸载
  

# rpm -qa |grep httpd
# rpm -e --nodeps httpd*
error: package httpd* is not installed
# for name in `rpm -qa httpd*`;do rpm -e --nodeps $name;done  

注意:如果服务器默认安装了httpd,如果要编译安装,那要使用上述命令将httpd服务器删除
rpm -qa |grep httpd   # 查询服务器的是否安装了httpd
rpm -e --nodeps httpd*# 卸载有过httpd的服务,上面没有安装,所有出现error
第四行代码:将查询和卸载合二为一
  

Apache服务http安装包和验证包下载地址
如果在生产环境,那么我们必须将我们下载的安装包进行检测,看看是否被修改。这是一个安全的常识
wget http://www.eu.apache.org/dist/httpd/httpd-2.2.26.tar.gz.sha1
wget http://www.eu.apache.org/dist/httpd/httpd-2.2.26.tar.gz.md5
wget http://www.eu.apache.org/dist/httpd/httpd-2.2.26.tar.gz.asc
wget http://www.eu.apache.org/dist/httpd/httpd-2.2.26.tar.gz
wget http://www.apache.org/dist/httpd/KEY
  

验证和解压httpd安装包是否被修改

# tar xzvf httpd-2.2.26.tar.gz
# cd httpd-2.2.26
# gpg --import KEYS
# gpg --verify httpd-2.2.26.tar.gz.asc
# less README   # 查看程序信息
# less INSTALL    # 查看安装编译的参数
  

编译安装Apache
# ./configure --prefix=/application/apache2.2.26 --enable-deflate --enable-expires --enable-headers--enable-modules=most --with-mpm=worker --enable-rewite --enable-so --with-mpm=worker
# make && make install  
--prefix=/application/apache2.2.22    # 设置apache安装目录(默认/usr/local/apache2)
--enable-deflate   # 提供对传输的编码进行压缩
--enable-expires   # 激活需用通过配置文件控制http的expires和cache-control头内容,即对网站图片,js、css等内容,提供在客户端浏览器缓存的设置
--enable-headers   # 提供允许对http请求头的控制
--enable-modules=most   #
--enable-so      # 指定允许DSO(动态共享对象)
--with-mpm=worker# 更多的使用线程来出来请求,处理更多的并发。(默认prefork进程模式)
--enable-rewrite   # 开启rewrite支持,以实现url静态化,建议开启
详细的命令可以查看./configure --help
  

对apache目录进行软连接创建,方便管理
# ln -s /application/apache2.2.26 /application/apache
  

# /application/apache/bin/apachectl -l
# /application/apache/bin/apachectl -M
    : 空白可以现实后面能够所加载的参数
-l:检查安装情况
-M:用来列出基于当前配置加载的所有模块,与 -l不同 还列出mod_so加载的(动态共享对象)
  

# /application/apache/bin/apachectl


下列仅说明了SysV初始化类型的选项,其他参数的说明见httpd手册页。
start
启动Apache httpd后台守护进程。如果已经启动,则产生一个错误。它等价于 apachectl -k start 。stop停止Apache httpd后台守护进程。它等价于 apachectl -k stop 。restart重新启动Apache httpd后台守护进程。如果守护进程尚未运行,则启动它。在重新启动守护进程之前,此命令会使用configtest自动检查配置文件,以确保Apache不会死掉。它等价于 apachectl -k restart 。fullstatus显示由mod_status提供的完整的状态报告。要使用这个功能,需要启用服务器上的mod_status模块,并且系统中有一个基于文本的浏览器,如lynx 。修改脚本中的STATUSURL变量,可以修改访问状态报告的URL 。status显示一个简要的状态报告。它类似于fullstatus选项,但是省略了正在处理的请求的列表。graceful优雅地重新启动Apache httpd后台守护进程。如果守护进程尚未启动,则启动它。它和标准重新启动的不同之处在于:不会中断当前已经打开的连接,也不会立即关闭日志。这意味着,如果在日志滚动脚本使用它,则在处理日志之前必须加入一个实实在在的延迟,以确保老的日志文件在被处理前已经关闭。在重新启动守护进程之前,此命令会使用configtest自动检查配置文件,以确保Apache不会死掉。它等价于 apachectl -k graceful 。graceful-stop优雅地停止Apache httpd后台守护进程。它和标准停止的不同之处在于:不会中断当前已经打开的连接,也不会立即关闭日志。它等价于 apachectl -k graceful-stop 。configtest执行一次配置文件语法检查。它解析配置文件,并报告 Syntax Ok 或者是特定的语法错误详细信息。它等价于 apachectl -t 。下列选项仅在早期版本中使用,现在已经被废弃了。
startssl以支持SSL的方式启动httpd ,你应当编辑配置文件,并在其中包含与SSL支持相关的指令,然后使用 apachectl start 启动服务器。

# /application/apache/bin/apachectl -t
httpd: apr_sockaddr_info_get() failed for apache
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
所以要解决这个问题可以设定httpd.conf文件中的 ServerName,如下:
   (1)ServerName localhost:80
   或者在 /etc/hosts 中填入自己的主机名称apache,如下:
   (2)127.0.0 apache

查看apache服务的状态,进程号和端口号
# ps -ef|grep httpd|grep -v grep
root      1222   10 18:03 ?      00:00:00 /application/apache2.2.26/bin/httpd -k start
daemon    153112220 18:38 ?      00:00:00 /application/apache2.2.26/bin/httpd -k start
daemon    153212220 18:38 ?      00:00:00 /application/apache2.2.26/bin/httpd -k start
daemon    153312220 18:38 ?      00:00:00 /application/apache2.2.26/bin/httpd -k start
daemon    153412220 18:38 ?      00:00:00 /application/apache2.2.26/bin/httpd -k start
daemon    168512220 18:38 ?      00:00:00 /application/apache2.2.26/bin/httpd -k start


# netstat -tln |grep 80
tcp      0      0 :::80                     :::*                        LISTEN


# lsof -i tcp:80
COMMANDPID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1222   root    4uIPv611323      0t0TCP *:http (LISTEN)
httpd   1532 daemon    4uIPv611323      0t0TCP *:http (LISTEN)
httpd   1533 daemon    4uIPv611323      0t0TCP *:http (LISTEN)
httpd   1534 daemon    4uIPv611323      0t0TCP *:http (LISTEN)
httpd   1685 daemon    4uIPv611323      0t0TCP *:http (LISTEN)
  

  在浏览器里面输入测试
  在浏览器里面输入你配置apache服务器的ip地址,如:http://10.10.26.146
  默认在浏览器里面显示
  it's work
  

  排错思路指南
  
如果不能正常显示,按照下面的思路进行配置
1.iptables防火墙是否关闭
2.selinux是否关闭
3.80端口是否存在
4.http进程是否存在
5.本地wget http://ip 测试
6.查看apache的错误日志,看看是否有特殊的异常
  


  




页: [1]
查看完整版本: linux apache服务器的安装