因为现在nginx它已成为反向代理软件的主流。因此,linuxserver在系统。我们几乎总是安装nginx东方的,这使在同一时间使用apache带来了麻烦。因为apache它用于通过缺省80port。

和其他许多倍。我们显然不希望更改nginx的port。改动apache的80port。



1.首先查找apache的httpd服务的配置文件httpd.conf,用rpm,yum等不同方式安装的apache的文件夹有所不同,我这里是安装centos6.5时就已经选择安装了apache2.2.15。配置文件位于/etc/httpd/conf/httpd.conf。首先编辑这个文件

找到Listen 80这一行,改动为

Listen 8000

继续改动httpd.conf文件,找到

#ServerName www.example.com:80
在以下添加一行
ServerName localhost:8000

改动保存httpd.conf后。运行

# service httpd restart
糟糕。会出现非常多错误提示,主要是
Permission denied: make_sock: could not bind to address [::]:8000

2.须要尝试运行semanage添加8000port,运行

# semanage port -l|grep http

假设没有semanage命令。能够先安装semanage及selinux

# yum provides /usr/sbin/semanage
或者
# yum whatprovides /usr/sbin/semanage
查看一下,然后运行安装命令:
yum -y install policycoreutils-python

安装完后又一次运行

#semanage port -l|grep http
http_cache_port_t tcp 3128, 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989

可是在某些机器上运行上面的命令。可能会出现下面错误提示:

# semanage port -l|grep http
/usr/sbin/semanage: SELinux policy is not managed or store cannot be accessed.

显示策略有问题,一般来说重新启动系统能够解决问题。



假设可以正确运行。可以看到我的server列表中不包括8000port。于是运行

# semanage port -a -t http_port_t -p tcp 8000
/usr/sbin/semanage: port tcp/8000 已经存在

却显示8000port已存在,这时候细致观察,发现http_port_t中包括9000port,于是我将apache配置文件里的port的两处配置改为了9000port



3.再次重新启动httpd服务,提示apache启动成功了,假设须要,能够在nginx配置文件nginx.conf中代理apache的9000port。这样就能够不用输入port号直接訪问你的apache服务了。

然而这里有个疑问。在我的机器上。9000port已经存在于selinux中。apache最后使用了9000port,会不会有神马冲突或隐患。哪位对selinux有深刻理解的专家是否能给解释一下。



4.最后,假设iptables中间9000port没开,您可以添加防火墙规则。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

centos6.5安装apache2.x并更改默认80port的更多相关文章

  1. Centos6.7安装Apache2.4+Mysql5.6+Apache2.4

    首先说下思路,因为一开始系统上已经跑了一套完成的 PHP 环境,那时候都是快速自动安装的,如果是跑一些5.3以下版本的话,很简单,几个指令,10分钟搞定了. 但现在要升级,彻底一点的话,唯有推倒重来了 ...

  2. centos6.5安装Mysql5.6及更改密码

    (一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...

  3. centos6离线安装apache2.4

    在/usr/local中新建文件夹 Apache2.4,将httpd安装包放入该文件夹, 解压:tar xvf httpd-2.4.41.tar.gz 进入httpd-2.4.41文件夹中,对Apac ...

  4. 安装xampp开发环境更改默认项目路径

    xampp开发环境中默认的项目路径在xampp下的htdocs文件下 如果想修改默认项目的位置步骤如下: 1)D:\xampp\apache\conf 找到httpd.conf打开 2)找到 Docu ...

  5. Centos6.6安装apache2.4

    安装apr请参考:   http://www.cnblogs.com/yuzhaokai0523/p/4382974.html 1安装httpd-2.4.10.tar.gz wget http://w ...

  6. centos6.5安装apache2

    参考 http://my.oschina.net/u/593517/blog/340289 http://blog.csdn.net/hkmaike/article/details/9732177

  7. centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8

    以虚拟机VirtualBox 版本是4.1.20(内存设置为512M,centos安装是文本模式下安装),全新以最小化包安装了32位的 CentOS6.3系统,作为本地web环境,上次讲了在windo ...

  8. CentOS6.5下安装Apache2.4+PHP7

    CentOS6.5下安装Apache2.4+PHP7 http://blog.csdn.net/along602/article/details/42695779 http://www.th7.cn/ ...

  9. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25

    所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src ...

随机推荐

  1. phoenixframe平台连接socketserver,并接收返回值的演示样例

    package org.phoenix.cases.webservice; import java.util.LinkedList; import org.phoenix.action.WebElem ...

  2. ios开发知识点补充

    一:self class,self superClass  super class  super superClass 的区别 新建SubPerson继承person,在SubPerson中打印如下: ...

  3. C# 二分法查找和排序

    using System;using System.Collections.Generic;using System.Text; namespace AAA{    public class Dich ...

  4. [内核编程] 4.5 HOOK分发函数

    4.5 HOOK分发函数 本节开始深入的探讨键盘的过滤与反过滤.有趣的是,无论是过滤还是反过 滤,其原理都是进行过滤.取胜的关键在于:谁将第一个得到信息. 黑客可能会通过修改一个已经存在的驱动对象(比 ...

  5. kvm 虚拟化概述及 virt-manager 安装虚拟机

    一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V ...

  6. Qt on Android: http下载与Json解析

    百度提供有查询 ip 归属地的开放接口,当你在搜索框中输入一个 ip 地址进行搜索,就会打开由 ip138 提供的百度框应用,你能够在框内直接输入 ip 地址查询.我查看了页面请求,提取出查询 ip ...

  7. 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(9)链表

    我们至少可以通过两种结构来存储数据 数组 1.需要一整块连续的存储空间,内存中可能没有 2.插入元素,删除元素效率极低. 3.查找数据快 链表 1.查找效率低 2.不需要一块连续的内存空间 3.插入删 ...

  8. Android bitmap绘制文字自动换行

    public Bitmap getNewBitMap(String text) { Bitmap newBitmap = Bitmap.createBitmap(,, Config.ARGB_4444 ...

  9. web报表工具FineReport经常使用函数的使用方法总结(文本函数)

    文本函数 CHAR CHAR(number):依据指定数字返回相应的字符.CHAR函数可将计算机其它类型的数字代码转换为字符. Number:用于指定字符的数字,介于1Number:用于指定字符的数字 ...

  10. [Angular] Working with FormArray

    'FormArray' can work with array of 'FormGroup' or 'FormControl'. form = new FormGroup({ stock: new F ...