<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[师源国际]]></title> 
<atom:link href="https://www.akitorna.cn/emlog/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[ShiYuan International Group]]></description>
<link>https://www.akitorna.cn/emlog/</link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>
<item>
    <title>Ubuntu下安装和配置apache2并启用https</title>
    <link>https://www.akitorna.cn/emlog/?post=2</link>
    <description><![CDATA[<p>声明：本文全部内容为原创内容，禁止在未经授权的情况下进行任何二次创作和修改，转载请注明出处。</p>
<p>摘要<br />
Apache2是一个开源的http代理服务，被广泛应用于各种网站和服务的部署中。这篇文章将会记录如何安装和配置apache2并启用https，常用的命令也将会在文章最后列出。</p>
<p>第一部分：安装并测试apache2<br />
步骤一：安装apache2<br />
运行以下命令安装apache2：</p>
<p>sudo apt install apache2<br />
步骤二：在防火墙中放行80端口<br />
通过ufw放行用于测试默认网站的80端口：</p>
<p>sudo ufw allow 80<br />
提示：更多关于ufw的使用方式，参考我的另一篇文章：</p>
<p>不向光的红外线：在Debian系操作系统下使用ufw工具配置防火墙<br />
1 赞同 · 0 评论文章<br />
步骤三：测试默认网站<br />
在浏览器中输入网址http://127.0.0.1，正常情况下将会打开类似的页面：</p>
<p>第二部分：在Ubuntu下配置apache2<br />
在用一个示例网站配置之前，我们先了解一下apache2安装目录“/etc/apache2/”的文件结构：</p>
<p>/etc/apache2/<br />
├── apache2.conf                          # 主配置文件，通常很少修改。<br />
├── conf-available<br />
├── conf-enabled<br />
├── envvars                            # Apache2的环境变量，通常很少修改。<br />
├── magic<br />
├── mods-available                   # 已安装的apache2模块，非启用的模块。<br />
├── mods-enabled                                        # 已启用的模块。<br />
├── ports.conf                                     # 所有监听的端口配置。<br />
├── sites-available                        # 所有的虚拟主机配置文件。<br />
└── sites-enabled                        # 所有正在运行的虚拟主机配置文件。<br />
我们现在以通过虚拟主机部署一个网站为例，介绍如何使用apache2。假设已经有一个服务部署在了9264端口，我们想通过网址http://service.example.com/访问这个服务（域名http://service.example.com已经通过A记录解析到ubuntu服务器上）。为此，我们新建一个.conf的虚拟主机配置文件。</p>
<p>步骤一：新建配置文件<br />
在“/etc/apache2/sites-available/”目录下新建一个配置文件“service.conf”：</p>
<p>~$ cd  /etc/apache2/sites-available/<br />
/etc/apache2/sites-available$ sudo vim service.conf<br />
步骤二：编辑配置文件<br />
将如下配置添加到文件中：</p>
<VirtualHost _default_:80>                 # 新建一个监听80端口的虚拟主机。
    Servername service.example.com                         # 监听域名。
    ProxyPass / http://localhost:9264/         # 正向代理转发到9264端口。
    ProxyPassReverse / http://localhost:9264/  # 反向代理转发到9264端口。
    ProxyPreserveHost On
</VirtualHost>
<p>保存文件并退出文件。</p>
<p>步骤三：启用网站并重新加载apache2<br />
通过如下命令启用网站：</p>
<p>sudo a2ensite service.conf<br />
按照提示重新加载apache2：</p>
<p>sudo systemctl reload apache2<br />
提示：每次修改apache2中的配置文件后，都需要重新加载apache2服务，有些时候需要依据提示重启apache2服务。</p>
<p>现在可以通过网址http://service.example.com/访问服务了。</p>
<p>步骤四：启用ssl模块并重启apache2<br />
我们可以启用https（默认在443端口）提高访问服务的安全性，首先启用apache2的ssl模块：</p>
<p>sudo a2enmod ssl<br />
正常启用成功时，命令行中将会提示重启apache2服务：</p>
<p>sudo systemctl restart apache2<br />
检查“/etc/apache2/ports.conf”文件中443端口是否启用监听，默认情况下443端口是监听的。如果未监听，加入“Listen 443 https”并重新加载apache2。</p>
<p>步骤五：启用虚拟主机https监听<br />
在启用虚拟主机的https前，先保证有一个对应域名的SSL证书。免费的SSL证书可以通过Let’s Encrypt申请，参考我的另一篇文章：</p>
<p>不向光的红外线：申请Let’s Encrypt通配符证书<br />
0 赞同 · 0 评论文章<br />
编辑刚才的虚拟主机配置文件并新增一个443端口的虚拟主机监听配置：</p>
<VirtualHost _default_:443>               # 新建一个监听443端口的虚拟主机。
    Servername service.example.com
    SSLEngine on                                        # 启用SSL验证。
    SSLCertificateFile /path/to/certificate/file
    SSLCertificateKeyFile /path/to/certificate/key/file

    ProxyPass / http://localhost:9264/         # 正向代理转发到9264端口。
    ProxyPassReverse / http://localhost:9264/  # 反向代理转发到9264端口。
    ProxyPreserveHost On
</VirtualHost>
<p>保存并退出文件，重新加载apache2：</p>
<p>sudo systemctl reload apache2<br />
步骤六：在防火墙中放行443端口<br />
通过ufw在防火墙中放行443端口：</p>
<p>sudo ufw allow 443<br />
现在我们可以通过网址https://service.example.com/访问服务。</p>
<p>第三部分：常用命令<br />
切换服务状态<br />
sudo systemctl start apache2        # 启动apache2服务<br />
sudo systemctl stop apache2         # 停止apache2服务<br />
sudo systemctl reload apache2       # 重载apache2服务<br />
sudo systemctl restart apache2      # 重启apache2服务<br />
启用/禁用虚拟主机配置<br />
sudo a2ensite &lt;.conf file&gt;<br />
sudo a2dissite &lt;.conf file&gt;<br />
启用/禁用apache2模块<br />
sudo a2enmod <module name><br />
sudo a2dismod <module name><br />
发布于 2020-07-08 16:25</p>]]></description>
    <pubDate>Mon, 14 Jul 2025 03:14:00 +0800</pubDate>
    <dc:creator>Yuki</dc:creator>
    <guid>https://www.akitorna.cn/emlog/?post=2</guid>
</item>
<item>
    <title>欢迎使用emlog</title>
    <link>https://www.akitorna.cn/emlog/?post=1</link>
    <description><![CDATA[<p>恭喜您成功安装了emlog，这是系统自动生成的演示文章。编辑或者删除它，然后开始您的创作吧！</p>]]></description>
    <pubDate>Sat, 03 Jun 2023 23:08:43 +0800</pubDate>
    <dc:creator>Yuki</dc:creator>
    <guid>https://www.akitorna.cn/emlog/?post=1</guid>
</item></channel>
</rss>