Linux部署apache并配置SSL证书

一、 服务器资源
服务名称:Linux服务器

IP:服务器公网ip

操作系统:CentOS 7.9 x64

二、 卸载系统自带的httpd
Centos可能自带了httpd,但是版本可能会较低,执行下面的命令检测是否已经安装了httpd

<span class="token punctuation">#</span> <span class="token variable">rpm</span> <span class="token variable">-qa</span> <span class="token punctuation">|</span> <span class="token variable">grep</span> <span class="token variable">httpd</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">rpm</span> <span class="token variable">-qa</span> <span class="token punctuation">|</span> <span class="token variable">grep</span> <span class="token variable">httpd</span> <span class="token variable">复制代码</span> 
# rpm -qa | grep httpd 复制代码

如果检测已经安装了二进制的httpd,则使用下面的命令卸载,防止现在的二进制httpd对你之后安装的源码httpd干扰

可能已经安装,但是版本相当于官网较低,为防止干扰,所以先卸载自带httpd

<span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">remove</span> <span class="token variable">httpd</span> <span class="token punctuation">#</span><span class="token variable">rpm</span> <span class="token variable">-e</span> <span class="token variable">--nodeps</span> <span class="token variable">xxxx(原有的httpd)</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">remove</span> <span class="token variable">httpd</span> <span class="token punctuation">#</span><span class="token variable">rpm</span> <span class="token variable">-e</span> <span class="token variable">--nodeps</span> <span class="token variable">xxxx(原有的httpd)</span> <span class="token variable">复制代码</span> 
# yum -y remove httpd #rpm -e --nodeps xxxx(原有的httpd) 复制代码

三、 下载Apache的安装包以及APR安装包
官网下载Apache的源码包,httpd.apache.org

这里下载的版本是:httpd-2.4.41.tar.gz

到apr.apache.org/下载APR源码包和AP…

这里下载的版本分别是:apr-1.6.5.tar.gz、apr-util-1.6.1.tar.gz

把httpd-2.4.41.tar.gz、apr-1.6.5.tar.gz、apr-util-1.6.1.tar.gz上传到/opt/tools目录下

四、 解压apr以及apr-util源码包

<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span> <span class="token punctuation">#</span> <span class="token variable">tar</span> <span class="token variable">-zxvf</span> <span class="token variable">httpd-</span><span class="token number">2.4</span><span class="token number">.41</span><span class="token punctuation">.</span><span class="token variable">tar</span><span class="token punctuation">.</span><span class="token variable">gz</span> <span class="token punctuation">#</span> <span class="token variable">tar</span> <span class="token variable">-zxvf</span> <span class="token variable">apr-</span><span class="token number">1.6</span><span class="token number">.5</span><span class="token punctuation">.</span><span class="token variable">tar</span><span class="token punctuation">.</span><span class="token variable">gz</span> <span class="token punctuation">#</span> <span class="token variable">tar</span> <span class="token variable">-zxvf</span> <span class="token variable">apr-util-</span><span class="token number">1.6</span><span class="token number">.1</span><span class="token punctuation">.</span><span class="token variable">tar</span><span class="token punctuation">.</span><span class="token variable">gz</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span> <span class="token punctuation">#</span> <span class="token variable">tar</span> <span class="token variable">-zxvf</span> <span class="token variable">httpd-</span><span class="token number">2.4</span><span class="token number">.41</span><span class="token punctuation">.</span><span class="token variable">tar</span><span class="token punctuation">.</span><span class="token variable">gz</span> <span class="token punctuation">#</span> <span class="token variable">tar</span> <span class="token variable">-zxvf</span> <span class="token variable">apr-</span><span class="token number">1.6</span><span class="token number">.5</span><span class="token punctuation">.</span><span class="token variable">tar</span><span class="token punctuation">.</span><span class="token variable">gz</span> <span class="token punctuation">#</span> <span class="token variable">tar</span> <span class="token variable">-zxvf</span> <span class="token variable">apr-util-</span><span class="token number">1.6</span><span class="token number">.1</span><span class="token punctuation">.</span><span class="token variable">tar</span><span class="token punctuation">.</span><span class="token variable">gz</span> <span class="token variable">复制代码</span> 
# cd /opt/tools # tar -zxvf httpd-2.4.41.tar.gz # tar -zxvf apr-1.6.5.tar.gz # tar -zxvf apr-util-1.6.1.tar.gz 复制代码

五、安装相关组件

<span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">gcc</span> <span class="token variable">gcc-c</span><span class="token punctuation">+</span><span class="token punctuation">+</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">expat-devel</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">pcre-devel</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">mod_ssl</span> <span class="token variable">openssl-devel</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">libtool-ltdl-devel</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">gcc</span> <span class="token variable">gcc-c</span><span class="token punctuation">+</span><span class="token punctuation">+</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">expat-devel</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">pcre-devel</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">mod_ssl</span> <span class="token variable">openssl-devel</span> <span class="token punctuation">#</span> <span class="token variable">yum</span> <span class="token variable">-y</span> <span class="token variable">install</span> <span class="token variable">libtool-ltdl-devel</span> <span class="token variable">复制代码</span> 
# yum -y install gcc gcc-c++ make # yum -y install expat-devel # yum -y install pcre-devel # yum -y install mod_ssl openssl-devel # yum -y install libtool-ltdl-devel 复制代码

六、 安装apr

<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span><span class="token punctuation">/</span><span class="token variable">apr-</span><span class="token number">1.6</span><span class="token number">.5</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token variable">install</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span><span class="token punctuation">/</span><span class="token variable">apr-</span><span class="token number">1.6</span><span class="token number">.5</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token variable">install</span> <span class="token variable">复制代码</span> 
# cd /opt/tools/apr-1.6.5 # ./configure --prefix=/usr/local/apr # make # make install 复制代码

七、 安装apr-util

<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span><span class="token punctuation">/</span><span class="token variable">apr-util-</span><span class="token number">1.6</span><span class="token number">.1</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr-util</span> <span class="token variable">--with-apr</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token variable">install</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span><span class="token punctuation">/</span><span class="token variable">apr-util-</span><span class="token number">1.6</span><span class="token number">.1</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr-util</span> <span class="token variable">--with-apr</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token variable">install</span> <span class="token variable">复制代码</span> 
# cd /opt/tools/apr-util-1.6.1 # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr # make # make install 复制代码

八、配置防火墙
启动80端口

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">sysconfig</span><span class="token punctuation">/</span><span class="token variable">iptables</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">sysconfig</span><span class="token punctuation">/</span><span class="token variable">iptables</span> <span class="token variable">复制代码</span> 
# vi /etc/sysconfig/iptables 复制代码

添加以下内容:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
复制代码
重启防火墙

<span class="token punctuation">#</span> <span class="token variable">service</span> <span class="token variable">iptables</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">service</span> <span class="token variable">iptables</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span> 
# service iptables restart 复制代码

九、 安装httpd

<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span><span class="token punctuation">/</span><span class="token variable">httpd-</span><span class="token number">2.4</span><span class="token number">.41</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span> <span class="token variable">--enable-so</span> <span class="token variable">--enable-ssl</span> <span class="token variable">--enable-rewrite</span> <span class="token variable">--enable-cgi</span> <span class="token variable">--enable-cgid</span> <span class="token variable">--enable-modules</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--enable-mods-shared</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--with-apr</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token variable">--with-apr-util</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr-util</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">tools</span><span class="token punctuation">/</span><span class="token variable">httpd-</span><span class="token number">2.4</span><span class="token number">.41</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span> <span class="token variable">--enable-so</span> <span class="token variable">--enable-ssl</span> <span class="token variable">--enable-rewrite</span> <span class="token variable">--enable-cgi</span> <span class="token variable">--enable-cgid</span> <span class="token variable">--enable-modules</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--enable-mods-shared</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--with-apr</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token variable">--with-apr-util</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr-util</span> <span class="token variable">复制代码</span> 
# cd /opt/tools/httpd-2.4.41 # ./configure --prefix=/opt/app/apache24 --enable-so --enable-ssl --enable-rewrite --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 复制代码
<span class="token block keyword">#./configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span> <span class="token variable">--enable-so</span> <span class="token variable">--enable-ssl</span> <span class="token variable">--enable-rewrite</span> <span class="token variable">--enable-cgi</span> <span class="token variable">--enable-cgid</span> <span class="token variable">--enable-modules</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--enable-mods-shared</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--with-apr</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token variable">--with-apr-util</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr-util</span> <span class="token variable">--with-ssl</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span> <span class="token variable">复制代码</span>
<span class="token block keyword">#./configure</span> <span class="token variable">--prefix</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span> <span class="token variable">--enable-so</span> <span class="token variable">--enable-ssl</span> <span class="token variable">--enable-rewrite</span> <span class="token variable">--enable-cgi</span> <span class="token variable">--enable-cgid</span> <span class="token variable">--enable-modules</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--enable-mods-shared</span><span class="token punctuation">=</span><span class="token variable">most</span> <span class="token variable">--with-apr</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr</span> <span class="token variable">--with-apr-util</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">apr-util</span> <span class="token variable">--with-ssl</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">local</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span> <span class="token variable">复制代码</span> 
#./configure --prefix=/opt/app/apache24 --enable-so --enable-ssl --enable-rewrite --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/ssl/ 复制代码
<span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token variable">install</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token punctuation">#</span> <span class="token variable">make</span> <span class="token variable">install</span> <span class="token variable">复制代码</span> 
# make # make install 复制代码

这是我选择了一些配置的功能,你可以根据自己的需要改变,如果只是简单的安装httpd,直接./configure –prefix=/usr/local/apache

安装完成后,可通过如下如下命令查询你http的版本

<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">bin</span><span class="token punctuation">/</span><span class="token variable">apachectl</span> <span class="token variable">-v</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">cd</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span> <span class="token punctuation">#</span> <span class="token punctuation">.</span><span class="token punctuation">/</span><span class="token variable">bin</span><span class="token punctuation">/</span><span class="token variable">apachectl</span> <span class="token variable">-v</span> <span class="token variable">复制代码</span> 
# cd /opt/app/apache24 # ./bin/apachectl -v 复制代码

为了方便以后使用apache可以将执行路径添加的PATH中,这样下次执行命令时,就不需要使用路径

解压文件,结果出现注意,2.4.46版本后,这个配置不生效了,默认会在/etc/httpd/ 下面创建一个apachectl,直接使用apachectl start启动的话,会以/etc/httpd下面的配置文件启动。

所以这里还是得用上面的方式启动:cd /opt/app/apache24,然后 ./bin/apachectl -v

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">profile</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">profile</span> <span class="token variable">复制代码</span> 
# vi /etc/profile 复制代码
<span class="token block keyword">#apache\</span> <span class="token variable">export</span> <span class="token variable">APACHE_HOME</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">\</span> <span class="token variable">export</span> <span class="token variable">PATH</span><span class="token punctuation">=</span><span class="token variable">$PATH</span><span class="token punctuation">:</span><span class="token variable">$APACHE_HOME</span><span class="token punctuation">/</span><span class="token variable">bin</span> <span class="token variable">复制代码</span>
<span class="token block keyword">#apache\</span> <span class="token variable">export</span> <span class="token variable">APACHE_HOME</span><span class="token punctuation">=</span><span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">\</span> <span class="token variable">export</span> <span class="token variable">PATH</span><span class="token punctuation">=</span><span class="token variable">$PATH</span><span class="token punctuation">:</span><span class="token variable">$APACHE_HOME</span><span class="token punctuation">/</span><span class="token variable">bin</span> <span class="token variable">复制代码</span> 
#apache\ export APACHE_HOME=/opt/app/apache24\ export PATH=$PATH:$APACHE_HOME/bin 复制代码
<span class="token punctuation">#</span> <span class="token variable">source</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">profile</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">source</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">profile</span> <span class="token variable">复制代码</span> 
# source /etc/profile 复制代码

以后就可以直接输入以下命令对apache进行操作:

启动:

<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">start</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">start</span> <span class="token variable">复制代码</span> 
# apachectl start 复制代码

停止:

<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">stop</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">stop</span> <span class="token variable">复制代码</span> 
# apachectl stop 复制代码

重启:

<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span> 
# apachectl restart 复制代码

如果在启动服务时发生如下错误

需要修改httpd的配置文件 /opt/app/apache24/conf/httpd.conf

将ServerName www.example.com:80 这一行的注释去掉,修改完成之后重启apache服务

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/httpd.conf 复制代码

把#ServerName www.example.com:80前面的#号去掉,并把www.example.com修改Linux服务器的IP地址,保存退出

重启apache

<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span> 
# apachectl restart 复制代码

十、 配置 反 向代理
10.1、放开虚拟主机(反向代理)模块

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/httpd.conf 复制代码

在httpd.conf中把下四行配置放开(前面的#号去掉)

<span class="token variable">LoadModule</span> <span class="token variable">proxy_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">proxy_http_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy_http</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token punctuation">#</span> <span class="token variable">开启websocket</span> <span class="token variable">LoadModule</span> <span class="token variable">proxy_wstunnel_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy_wstunnel</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token variable">LoadModule</span> <span class="token variable">proxy_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">proxy_http_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy_http</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token punctuation">#</span> <span class="token variable">开启websocket</span> <span class="token variable">LoadModule</span> <span class="token variable">proxy_wstunnel_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy_wstunnel</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so # 开启websocket LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so Include conf/extra/httpd-vhosts.conf 复制代码

10.2、配置虚拟主机(反向代理)
在conf/extra/httpd-vhosts.conf中配置虚拟主机(反向代理)

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/extra/httpd-vhosts.conf 复制代码

在文件末尾添加以下配置:

<span class="token punctuation"><</span><span class="token variable">VirtualHost</span> <span class="token punctuation">*</span><span class="token punctuation">:</span><span class="token number">80</span><span class="token punctuation">></span> <span class="token variable">ServerName</span> <span class="token variable">ip1</span> <span class="token variable">ServerAlias</span> <span class="token variable">ip1</span> <span class="token variable">ErrorLog</span> <span class="token string">"logs/error_log"</span> <span class="token variable">CustomLog</span> <span class="token string">"logs/access_log"</span> <span class="token variable">common</span> <span class="token punctuation">#</span><span class="token variable">test</span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span><span class="token variable">test</span><span class="token punctuation">/</span><span class="token variable">websocket</span> <span class="token variable">ws</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8080</span><span class="token block keyword">/test/websocket</span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span><span class="token variable">dzjk</span><span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8080</span><span class="token block keyword">/test/</span> <span class="token variable">ProxyPassReverse</span> <span class="token punctuation">/</span><span class="token variable">dzjk</span><span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8080</span><span class="token block keyword">/test/</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">VirtualHost</span><span class="token punctuation">></span> <span class="token variable">复制代码</span>
<span class="token punctuation"><</span><span class="token variable">VirtualHost</span> <span class="token punctuation">*</span><span class="token punctuation">:</span><span class="token number">80</span><span class="token punctuation">></span> <span class="token variable">ServerName</span> <span class="token variable">ip1</span> <span class="token variable">ServerAlias</span> <span class="token variable">ip1</span> <span class="token variable">ErrorLog</span> <span class="token string">"logs/error_log"</span> <span class="token variable">CustomLog</span> <span class="token string">"logs/access_log"</span> <span class="token variable">common</span> <span class="token punctuation">#</span><span class="token variable">test</span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span><span class="token variable">test</span><span class="token punctuation">/</span><span class="token variable">websocket</span> <span class="token variable">ws</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8080</span><span class="token block keyword">/test/websocket</span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span><span class="token variable">dzjk</span><span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8080</span><span class="token block keyword">/test/</span> <span class="token variable">ProxyPassReverse</span> <span class="token punctuation">/</span><span class="token variable">dzjk</span><span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8080</span><span class="token block keyword">/test/</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">VirtualHost</span><span class="token punctuation">></span> <span class="token variable">复制代码</span> 
<VirtualHost *:80> ServerName ip1 ServerAlias ip1 ErrorLog "logs/error_log" CustomLog "logs/access_log" common #test ProxyPass /test/websocket ws://ip2:8080/test/websocket ProxyPass /dzjk/ http://ip2:8080/test/ ProxyPassReverse /dzjk/ http://ip2:8080/test/ </VirtualHost> 复制代码

注意:以上内容的所有ip1替换为http服务器的IP地址,以上内容的所有ip2替换为需要代理Linux服务器的IP地址

再重启apache

<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">apachectl</span> <span class="token variable">restart</span> <span class="token variable">复制代码</span> 
# apachectl restart 复制代码

访问http://ip1:80/test/访问是否正常

注意:以上的ip1替换为http服务器的IP地址

十一、 配置 负载均衡
11.1、放开虚拟主机(负载均衡)模块

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/httpd.conf 复制代码

在httpd.conf中把下四行配置放开(前面的#号去掉)

<span class="token variable">LoadModule</span> <span class="token variable">proxy_balancer_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy_balancer</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">slotmem_shm_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_slotmem_shm</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">lbmethod_byrequests_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_lbmethod_byrequests</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token variable">LoadModule</span> <span class="token variable">proxy_balancer_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_proxy_balancer</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">slotmem_shm_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_slotmem_shm</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">lbmethod_byrequests_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_lbmethod_byrequests</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so Include conf/extra/httpd-vhosts.conf 复制代码

11.2、配置虚拟主机(负载均衡)
在conf/extra/httpd-vhosts.conf中配置虚拟主机(反向代理)

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/extra/httpd-vhosts.conf 复制代码

在文件末尾添加以下配置:

<span class="token punctuation"><</span><span class="token variable">VirtualHost</span> <span class="token punctuation">*</span><span class="token punctuation">:</span><span class="token number">80</span><span class="token punctuation">></span> <span class="token variable">ServerName</span> <span class="token variable">ip1</span> <span class="token variable">ServerAlias</span> <span class="token variable">ip1</span> <span class="token variable">ErrorLog</span> <span class="token string">"logs/error_log"</span> <span class="token variable">CustomLog</span> <span class="token string">"logs/access_log"</span> <span class="token variable">common</span> <span class="token punctuation">#</span><span class="token variable">test-cluster</span> <span class="token punctuation"><</span><span class="token variable">Proxy</span> <span class="token variable">balancer</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">test-cluster</span><span class="token punctuation">></span> <span class="token variable">BalancerMember</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8081</span><span class="token block keyword">/test</span> <span class="token variable">loadfactor</span><span class="token punctuation">=</span><span class="token number">7</span> <span class="token variable">BalancerMember</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8082</span><span class="token block keyword">/test</span> <span class="token variable">loadfactor</span><span class="token punctuation">=</span><span class="token number">3</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">Proxy</span><span class="token punctuation">></span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span><span class="token variable">test</span> <span class="token variable">balancer</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">test-cluster</span><span class="token punctuation">/</span> <span class="token variable">ProxyPassReverse</span> <span class="token punctuation">/</span><span class="token variable">test</span> <span class="token variable">balancer</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">test-cluster</span><span class="token punctuation">/</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">VirtualHost</span><span class="token punctuation">></span> <span class="token variable">复制代码</span>
<span class="token punctuation"><</span><span class="token variable">VirtualHost</span> <span class="token punctuation">*</span><span class="token punctuation">:</span><span class="token number">80</span><span class="token punctuation">></span> <span class="token variable">ServerName</span> <span class="token variable">ip1</span> <span class="token variable">ServerAlias</span> <span class="token variable">ip1</span> <span class="token variable">ErrorLog</span> <span class="token string">"logs/error_log"</span> <span class="token variable">CustomLog</span> <span class="token string">"logs/access_log"</span> <span class="token variable">common</span> <span class="token punctuation">#</span><span class="token variable">test-cluster</span> <span class="token punctuation"><</span><span class="token variable">Proxy</span> <span class="token variable">balancer</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">test-cluster</span><span class="token punctuation">></span> <span class="token variable">BalancerMember</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8081</span><span class="token block keyword">/test</span> <span class="token variable">loadfactor</span><span class="token punctuation">=</span><span class="token number">7</span> <span class="token variable">BalancerMember</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">ip2</span><span class="token punctuation">:</span><span class="token number">8082</span><span class="token block keyword">/test</span> <span class="token variable">loadfactor</span><span class="token punctuation">=</span><span class="token number">3</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">Proxy</span><span class="token punctuation">></span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span><span class="token variable">test</span> <span class="token variable">balancer</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">test-cluster</span><span class="token punctuation">/</span> <span class="token variable">ProxyPassReverse</span> <span class="token punctuation">/</span><span class="token variable">test</span> <span class="token variable">balancer</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token variable">test-cluster</span><span class="token punctuation">/</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">VirtualHost</span><span class="token punctuation">></span> <span class="token variable">复制代码</span> 
<VirtualHost *:80> ServerName ip1 ServerAlias ip1 ErrorLog "logs/error_log" CustomLog "logs/access_log" common #test-cluster <Proxy balancer://test-cluster> BalancerMember http://ip2:8081/test loadfactor=7 BalancerMember http://ip2:8082/test loadfactor=3 </Proxy> ProxyPass /test balancer://test-cluster/ ProxyPassReverse /test balancer://test-cluster/ </VirtualHost> 复制代码

注意:以上内容的所有ip1替换为http服务器的IP地址,以上内容的所有ip2替换为需要代理的Linux服务器的IP地址

十二、配置 SSL
12.1、上传Apache相关SSL证书

<span class="token punctuation">#</span> <span class="token variable">mkdir</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span> <span class="token punctuation">#</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span><span class="token number">1</span><span class="token variable">_root_bundle</span><span class="token punctuation">.</span><span class="token variable">crt</span> <span class="token punctuation">#</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span><span class="token number">2</span><span class="token variable">_域名xxx</span><span class="token punctuation">.</span><span class="token variable">crt</span> <span class="token punctuation">#</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span><span class="token number">3</span><span class="token variable">_域名xxx</span><span class="token punctuation">.</span><span class="token variable">key</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">mkdir</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span> <span class="token punctuation">#</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span><span class="token number">1</span><span class="token variable">_root_bundle</span><span class="token punctuation">.</span><span class="token variable">crt</span> <span class="token punctuation">#</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span><span class="token number">2</span><span class="token variable">_域名xxx</span><span class="token punctuation">.</span><span class="token variable">crt</span> <span class="token punctuation">#</span> <span class="token punctuation">/</span><span class="token variable">etc</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">/</span><span class="token variable">ssl</span><span class="token punctuation">/</span><span class="token number">3</span><span class="token variable">_域名xxx</span><span class="token punctuation">.</span><span class="token variable">key</span> <span class="token variable">复制代码</span> 
# mkdir /etc/httpd/ssl # /etc/httpd/ssl/1_root_bundle.crt # /etc/httpd/ssl/2_域名xxx.crt # /etc/httpd/ssl/3_域名xxx.key 复制代码

12.2、放开虚拟主机(SSL)模块

复制代码
在httpd.conf中把下三行配置放开(前面的#号去掉)

<span class="token variable">LoadModule</span> <span class="token variable">ssl_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_ssl</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">socache_shmcb_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_socache_shmcb</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-ssl</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token variable">LoadModule</span> <span class="token variable">ssl_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_ssl</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">LoadModule</span> <span class="token variable">socache_shmcb_module</span> <span class="token variable">modules</span><span class="token punctuation">/</span><span class="token variable">mod_socache_shmcb</span><span class="token punctuation">.</span><span class="token variable">so</span> <span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-ssl</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
LoadModule ssl_module modules/mod_ssl.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so Include conf/extra/httpd-ssl.conf 复制代码

12.3、配置虚拟主机(SSL)
在conf/extra/httpd-ssl.conf中配置虚拟主机(SSL)

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-ssl</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-ssl</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/extra/httpd-ssl.conf 复制代码

在VirtualHost default:443最后添加以下配置:

<span class="token punctuation"><</span><span class="token variable">VirtualHost</span> <span class="token variable">_default_</span><span class="token punctuation">:</span><span class="token number">443</span><span class="token punctuation">></span> <span class="token punctuation">#</span><span class="token variable">域名</span> <span class="token variable">ServerName</span> <span class="token variable">域名xxx</span> <span class="token punctuation">#</span><span class="token variable">启用SSL功能</span> <span class="token variable">SSLEngine</span> <span class="token variable">on</span> <span class="token punctuation">#</span><span class="token variable">证书文件的路径</span> <span class="token variable">SSLCertificateFile</span> <span class="token string">"/etc/httpd/ssl/2_域名xxx.crt"</span> <span class="token block keyword">#私钥文件的路径</span> <span class="token variable">SSLCertificateKeyFile</span> <span class="token string">"/etc/httpd/ssl/3_域名xxx.key"</span> <span class="token block keyword">#证书链文件的路径</span> <span class="token variable">SSLCertificateChainFile</span> <span class="token string">"/etc/httpd/ssl/1_root_bundle.crt"</span> <span class="token block keyword">#不校验SSL证书有效期</span> <span class="token variable">SSLProxyCheckPeerCN</span> <span class="token variable">Off</span> <span class="token variable">SSLProxyCheckPeerName</span> <span class="token variable">Off</span> <span class="token punctuation">#</span><span class="token variable">开启反向代理</span> <span class="token variable">ProxyRequests</span> <span class="token variable">Off</span> <span class="token variable">ProxyPreserveHost</span> <span class="token variable">On</span> <span class="token punctuation">#</span><span class="token variable">最终去到使用到conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf的反向代理</span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token number">127.0</span><span class="token number">.0</span><span class="token number">.1</span><span class="token punctuation">/</span> <span class="token variable">ProxyPassReverse</span> <span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token number">127.0</span><span class="token number">.0</span><span class="token number">.1</span><span class="token punctuation">/</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">VirtualHost</span><span class="token punctuation">></span> <span class="token variable">复制代码</span>
<span class="token punctuation"><</span><span class="token variable">VirtualHost</span> <span class="token variable">_default_</span><span class="token punctuation">:</span><span class="token number">443</span><span class="token punctuation">></span> <span class="token punctuation">#</span><span class="token variable">域名</span> <span class="token variable">ServerName</span> <span class="token variable">域名xxx</span> <span class="token punctuation">#</span><span class="token variable">启用SSL功能</span> <span class="token variable">SSLEngine</span> <span class="token variable">on</span> <span class="token punctuation">#</span><span class="token variable">证书文件的路径</span> <span class="token variable">SSLCertificateFile</span> <span class="token string">"/etc/httpd/ssl/2_域名xxx.crt"</span> <span class="token block keyword">#私钥文件的路径</span> <span class="token variable">SSLCertificateKeyFile</span> <span class="token string">"/etc/httpd/ssl/3_域名xxx.key"</span> <span class="token block keyword">#证书链文件的路径</span> <span class="token variable">SSLCertificateChainFile</span> <span class="token string">"/etc/httpd/ssl/1_root_bundle.crt"</span> <span class="token block keyword">#不校验SSL证书有效期</span> <span class="token variable">SSLProxyCheckPeerCN</span> <span class="token variable">Off</span> <span class="token variable">SSLProxyCheckPeerName</span> <span class="token variable">Off</span> <span class="token punctuation">#</span><span class="token variable">开启反向代理</span> <span class="token variable">ProxyRequests</span> <span class="token variable">Off</span> <span class="token variable">ProxyPreserveHost</span> <span class="token variable">On</span> <span class="token punctuation">#</span><span class="token variable">最终去到使用到conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-vhosts</span><span class="token punctuation">.</span><span class="token variable">conf的反向代理</span> <span class="token variable">ProxyPass</span> <span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token number">127.0</span><span class="token number">.0</span><span class="token number">.1</span><span class="token punctuation">/</span> <span class="token variable">ProxyPassReverse</span> <span class="token punctuation">/</span> <span class="token variable">http</span><span class="token punctuation">:</span><span class="token punctuation">/</span><span class="token punctuation">/</span><span class="token number">127.0</span><span class="token number">.0</span><span class="token number">.1</span><span class="token punctuation">/</span> <span class="token punctuation"><</span><span class="token punctuation">/</span><span class="token variable">VirtualHost</span><span class="token punctuation">></span> <span class="token variable">复制代码</span> 
<VirtualHost _default_:443> #域名 ServerName 域名xxx #启用SSL功能 SSLEngine on #证书文件的路径 SSLCertificateFile "/etc/httpd/ssl/2_域名xxx.crt" #私钥文件的路径 SSLCertificateKeyFile "/etc/httpd/ssl/3_域名xxx.key" #证书链文件的路径 SSLCertificateChainFile "/etc/httpd/ssl/1_root_bundle.crt" #不校验SSL证书有效期 SSLProxyCheckPeerCN Off SSLProxyCheckPeerName Off #开启反向代理 ProxyRequests Off ProxyPreserveHost On #最终去到使用到conf/extra/httpd-vhosts.conf的反向代理 ProxyPass / http://127.0.0.1/ ProxyPassReverse / http://127.0.0.1/ </VirtualHost> 复制代码

十三、 配置 超时Timeout
13.1、引入httpd-default.conf

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">httpd</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/httpd.conf 复制代码

在httpd.conf中把下一行配置放开(前面的#号去掉)

<span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-default</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token variable">Include</span> <span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-default</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
Include conf/extra/httpd-default.conf 复制代码

13.1、配置T imeout

<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-default</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">vi</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">conf</span><span class="token punctuation">/</span><span class="token variable">extra</span><span class="token punctuation">/</span><span class="token variable">httpd-default</span><span class="token punctuation">.</span><span class="token variable">conf</span> <span class="token variable">复制代码</span> 
# vi /opt/app/apache24/conf/extra/httpd-default.conf 复制代码

在httpd-default.conf修改以下配置:

<span class="token variable">Timeout</span> <span class="token number">600</span> <span class="token block keyword">#(默认是</span><span class="token number">60</span><span class="token variable">s,改成</span><span class="token number">600</span><span class="token variable">s</span><span class="token punctuation">)</span> <span class="token punctuation">#</span><span class="token variable">KeepAlive</span> <span class="token variable">On</span> <span class="token punctuation">#</span><span class="token punctuation">(</span><span class="token variable">默认是On,注释掉</span><span class="token punctuation">)</span> <span class="token variable">复制代码</span>
<span class="token variable">Timeout</span> <span class="token number">600</span> <span class="token block keyword">#(默认是</span><span class="token number">60</span><span class="token variable">s,改成</span><span class="token number">600</span><span class="token variable">s</span><span class="token punctuation">)</span> <span class="token punctuation">#</span><span class="token variable">KeepAlive</span> <span class="token variable">On</span> <span class="token punctuation">#</span><span class="token punctuation">(</span><span class="token variable">默认是On,注释掉</span><span class="token punctuation">)</span> <span class="token variable">复制代码</span> 
Timeout 600 #(默认是60s,改成600s) #KeepAlive On #(默认是On,注释掉) 复制代码

十四、查看日志

<span class="token punctuation">#</span> <span class="token variable">tail</span> <span class="token variable">-f</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">logs</span><span class="token punctuation">/</span><span class="token variable">access_log</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">tail</span> <span class="token variable">-f</span> <span class="token punctuation">/</span><span class="token variable">opt</span><span class="token punctuation">/</span><span class="token variable">app</span><span class="token punctuation">/</span><span class="token variable">apache24</span><span class="token punctuation">/</span><span class="token variable">logs</span><span class="token punctuation">/</span><span class="token variable">access_log</span> <span class="token variable">复制代码</span> 
# tail -f /opt/app/apache24/logs/access_log 复制代码

十五、同步服务器时间

<span class="token punctuation">#</span> <span class="token variable">crontab</span> <span class="token variable">-e</span> <span class="token variable">复制代码</span>
<span class="token punctuation">#</span> <span class="token variable">crontab</span> <span class="token variable">-e</span> <span class="token variable">复制代码</span> 
# crontab -e 复制代码
<span class="token number">1</span> <span class="token punctuation">*</span> <span class="token punctuation">*</span> <span class="token punctuation">*</span> <span class="token punctuation">*</span> <span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">sbin</span><span class="token punctuation">/</span><span class="token variable">ntpdate</span> <span class="token variable">-b</span> <span class="token number">10.192</span><span class="token number">.3</span><span class="token number">.227</span><span class="token punctuation">;</span><span class="token punctuation">/</span><span class="token variable">sbin</span><span class="token punctuation">/</span><span class="token variable">hwclock</span> <span class="token variable">-w</span> <span class="token variable">复制代码</span>
<span class="token number">1</span> <span class="token punctuation">*</span> <span class="token punctuation">*</span> <span class="token punctuation">*</span> <span class="token punctuation">*</span> <span class="token punctuation">/</span><span class="token variable">usr</span><span class="token punctuation">/</span><span class="token variable">sbin</span><span class="token punctuation">/</span><span class="token variable">ntpdate</span> <span class="token variable">-b</span> <span class="token number">10.192</span><span class="token number">.3</span><span class="token number">.227</span><span class="token punctuation">;</span><span class="token punctuation">/</span><span class="token variable">sbin</span><span class="token punctuation">/</span><span class="token variable">hwclock</span> <span class="token variable">-w</span> <span class="token variable">复制代码</span> 
1 * * * * /usr/sbin/ntpdate -b 10.192.3.227;/sbin/hwclock -w 复制代码

好了,以上就是linux部署apache,并配置ssl的全过程了,大家有不懂的可以在下方留言

原文链接:https://blog.csdn.net/qq_39221436/article/details/124419746

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享