部署网站

首页 博客

时间:2024年9月14日

目录

本文是基于DigitalOcean上Ubuntu服务器上设置和部署网站,并将ip地址与NameCheap注册的域名绑在一起,以实现用户的访问。

更新服务器

在DigitalOcean创建Droplet后,登录到Droplet的控制台:ssh root@droplet_ip_address。更新软件包:

sudo apt update
sudo apt update -y

安装Web服务器

网站运行需要有Web服务器,如Nginx、Apache等。本文是基于Apache。安装Apache:

sudo apt install apache2 -y

配置防火墙

在Ubuntu系统上,可以使用ufw (Uncomplicated Firewall)来配置防火墙,这里需要启动HTTP(端口80)和HTTPS(端口443):

sudo ufw allow 'Apache Full'
sudo ufw enable

可以通过sudo ufw status来查看防火墙状态,如HTTP和HTTPS端口未启动,亦可以通过以下命令启动:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status

部署网站

在服务器上,网站文件通常位于/var/www/html目录下,将本地的网站文件上传到服务器:

scp -r /path/to/local/website/files root@drop_ip_address:/var/www/html

如需要自定义路径,如/var/www/mywebsite,需要更改Apache的配置文件所对应的DocumentRoot。编辑配置文件:

sudo vi /etc/apache2/sites-available/000-default.conf

文件基本内容如下:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/html
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

对应类似的配置文件还有000-default-le-ssl.confdefault-ssl.conf,与文件000-default.conf位于同一目录。

配置保存后,重新加载Apache:

sudo systemctl reload apache2

域名解析

如果已购买域名,可将域名解析到DigitalOcean Droplet的IP地址。在控制面板添加域名到对应的Droplet,并设置A记录指向Droplet IP地址。

同样可编辑AAAA记录,CNAME等。

安装SSL证书

这里采用Let’s Encrypt免费获取并安装SSL证书,以启用HTTPS:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com

测试并启动网站

以上步骤完成后,可在浏览器中通过IP地址或者域名来访问放在,确保其运行正常。

更多阅读