注:本篇文章所讲述的是云服务器上架设一个简单的静态网站,并使用Apache和Nginx作为Web服务器,同时涉及DNS解析、防火墙配置、SSL证书申请、域名绑定等方面的步骤和注意事项。如果您已经有一定的Linux服务器使用经验,请快速跳转到所需章节进行查看和操作。
一、前言
随着云计算时代的到来,越来越多的企业、个人选择将网站、应用等业务托管到云服务器上。相较于传统的服务器,云服务器更加强调弹性、高可用、扩展性等方面的优势。而本文就是介绍如何在一台云服务器上架设一个简单的静态网站,并使用Apache和Nginx作为Web服务器的教程。
二、环境准备
在开始搭建我们的云服务器Web站点之前,我们需要一些必要的准备工作,比如:
1.一台云服务器。推荐使用阿里云、腾讯云、华为云等主流云服务供应商。
2.一把SSH密钥,用于连接云服务器和进行身份验证。如果您还没有SSH密钥,可以参考阿里云的SSH密钥教程来创建一个。
3.熟悉基本Linux操作命令,比如cd、ls、mkdir、rm、cp等。
4.具备一定的Web服务器配置、DNS解析等方面的知识。
现在,我们假设您已经准备好了以上的环境,可以开始正式的操作了。
三、搭建Apache Web服务器
1.安装Apache
在终端中输入以下命令来安装Apache:
“`
sudo apt-get update
sudo apt-get install apache2
“`
安装过程中会提示您输入Y确认,然后等待安装完成即可。
2.启动Apache
安装完成后,输入以下命令来启动Apache:
“`
sudo systemctl start apache2
“`
然后,打开您的云服务器的公网IP,即可看到Apache的默认欢迎页面。
3.配置防火墙
为确保安全性,我们需要配置防火墙以屏蔽除SSH和HTTP/HTTPS之外的所有流量。
首先,输入以下命令来打开HTTP、HTTPS端口:
“`
sudo ufw allow http
sudo ufw allow https
“`
然后,输入以下命令来开启防火墙:
“`
sudo ufw enable
“`
此时执行`sudo ufw status`命令,可以查看当前防火墙配置信息。
4.配置虚拟主机
虚拟主机是指在一台Web服务器上同时运行多个网站,在同一个IP地址下提供多个域名访问的功能。
在本文中,我们示范如何配置一个名为`example.com`的虚拟主机:
a.在终端中输入以下命令来进入Apache虚拟主机配置目录:
“`
cd /etc/apache2/sites-available/
“`
b.创建一个以`example.com`为名的配置文件:
“`
sudo touch example.com.conf
“`
然后使用nano或vim编辑器打开该文件,修改如下内容:
“`
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/access.log combined
“`
注:`DocumentRoot`指的是网站主目录;`ErrorLog`和`CustomLog`分别是该网站的错误日志和访问日志。
c.在终端中输入以下命令来启用该虚拟主机:
“`
sudo a2ensite example.com.conf
“`
d.重新加载Apache配置:
“`
sudo systemctl reload apache2
“`
此时,如果您已经配置好DNS解析并将`example.com`指向您的云服务器公网IP,您就可以在浏览器中输入`http://example.com`来访问您的网站了。
五、搭建Nginx Web服务器
除了Apache,Nginx也是一个成熟且广泛使用的Web服务器,强调的是高并发、低内存占用,对于一些对响应速度、负载均衡等方面有更高要求的应用程序,使用Nginx可能会更为适合。
接下来,我们将演示如何在云服务器上安装和配置Nginx。
1.安装Nginx
在终端中输入以下命令来安装Nginx:
“`
sudo apt-get update
sudo apt-get install nginx
“`
安装完成后,输入以下命令来启动Nginx:
“`
sudo systemctl start nginx
“`
2.启用默认网站
一般情况下,Nginx会自动启用默认网站,您只需要输入您的云服务器公网IP就可以看到Nginx的默认页面。
3.配置虚拟主机
Nginx的虚拟主机配置文件放置在`/etc/nginx/sites-available/`目录下。和Apache类似,我们可以通过创建虚拟主机配置文件并启用该虚拟主机来实现多个网站的共存。
在本文中,我们同样将以`example.com`为例来演示如何配置Nginx虚拟主机:
a.创建一个以`example.com`为名的配置文件:
“`
sudo touch example.com
“`
然后使用nano或vim编辑器打开该文件,修改如下内容:
“`
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/example.com;
}
“`
注:`listen`指的是监听端口;`server_name`指的是网站域名;`root`指的是网站主目录。
b.在终端中输入以下命令来启用该虚拟主机:
“`
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
“`
c.检查Nginx配置是否正确:
“`
sudo nginx -t
“`
d.重新加载Nginx配置:
“`
sudo systemctl reload nginx
“`
此时,如果您已经配置好DNS解析并将`example.com`指向您的云服务器公网IP,您就可以在浏览器中输入`http://example.com`来访问您的网站了。
六、HTTPS安全连接
HTTP是一种不安全的协议,攻击者可以通过监听、ARP欺骗等方式来伪造网站、拦截数据等,从而造成安全问题。为了保护用户的数据安全,现在大多数网站都使用HTTPS协议来加密传输,同时还可以提高网站的信任度和SEO排名。
在云服务器上安装SSL证书并启用HTTPS连接需要进行如下配置:
1.申请SSL证书
要在云服务器中启用HTTPS,首先需要申请一个SSL证书。目前,有很多机构和平台可以免费或收费申请证书,比如Let’s Encrypt、Comodo、Symantec、阿里云SSL证书等。以Let’s Encrypt为例,下面是SSL证书的申请步骤:
a.在终端中输入以下命令来安装Let’s Encrypt的ACME客户端:
“`
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
“`
b.执行以下命令来对`example.com`进行SSL证书申请:
“`
sudo certbot –nginx -d example.com -d www.example.com
“`
注:`-d`参数指的是要申请证书的域名。
然后按照提示输入您的邮箱、同意条款、是否愿意收到推广信息等,等待证书申请完成。
2.配置SSL证书
证书申请成功后,我们需要配置Nginx或Apache来使用该证书。
a.Nginx配置
i.在终端输入以下命令来编辑`example.com`的Nginx虚拟主机配置文件:
“`
sudo nano /etc/nginx/sites-available/example.com
“`
ii.找到以下代码块:
“`
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/example.com;
}
“`
将其修改为:
“`
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
root /var/www/example.com;
}
“`
注:`return`语句使所有HTTP请求跳转到HTTPS协议上;`ssl_certificate`和`ssl_certificate_key`分别指的是SSL证书公钥和私钥。
iii.保存配置文件并重新加载Nginx:
“`
sudo systemctl reload nginx
“`
b.Apache配置
i.在终端输入以下命令来编辑`example.com`的Apache虚拟主机配置文件:
“`
sudo nano /etc/apache2/sites-available/example.com.conf
“`
ii.找到以下代码块:
“`
ServerAdmin webmaster@example.com
ServerName example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/access.log combined
“`
将其修改为:
“`
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
“`
iii.保存配置文件并重新加载Apache:
“`
sudo systemctl reload apache2
“`
至此,您在云服务器上已经成功开启了HTTPS安全连接。
七、总结
本文从搭建Apache和Nginx Web服务器、配置虚拟主机、申请SSL证书和配置HTTPS连接等方面介绍了如何在一台云服务器上架设一个简单的静态网站。当然,这只是Web服务器搭建的基础,您可以根据自己的需求和具体情况进行更多的优化和配置。
以上就是小编关于“云服务器web站点教程”的分享和介绍
西部数码(west.cn)是经工信部、ICANN、CNNIC认证的全球顶级域名注册服务机构,是中国五星级域名注册商!有超过2000万个域名通过西部数码注册并管理,超过100万个网站托管在西部数码云服务器和虚拟主机。西部数码支持数十个顶级域名的注册与管理,支持批量查询、批量注册、批量解析、智能解析、批量过户等便捷好用的功能,拥有非常好的使用体验。
目前,西部数码域名注册正在特价,最低仅需1元!
更多详情请见:https://www.west.cn/services/domain/
西部数码域名抢注预定,支持抢注各类高价值老域名,支持“建站历史、百度收录、百度权重、历史外链、百度评价、搜狗反链”等综合检索功能,共计26项!可快速精准定位到您想要定位到的各类精品域名!同时,西部数码域名抢注集成了全球多个抢注商(近200个抢注商,还将陆续增加),整理出13条抢注通道,从根本上提升了抢注成功率!
其中,1号通道,实测抢注成功率高达99% 。每天西部数码预释放功能还会释放若干优质过期域名,可以直接抢注竞拍。
赶紧预订抢注心仪的优质域名吧:https://www.west.cn/booking/