💻 从买服务器到搞定一切:帮朋友搭建企业技术基建!(二)🚀

通过上一篇文章中的准备,我们已经有了云服务器、域名、也通过了域名备案和ICP备案等。下面目标发布一个公网可通过域名和HTTPS访问的网页。通过本文记录一下。

一、设置 SSH KeepAlive

我是通过MobaXterm,连接服务器的,服务器本身默认100s左右断开。下面通过一些设置,让SSH保持连接:

  1. /etc/ssh/sshd_config 中添加以下配置,并重启 SSH 服务:
conf 复制代码
ClientAliveInterval 60
ClientAliveCountMax 5
  1. 重启SSH服务
conf 复制代码
service ssh restart           # Ubuntu
service sshd restart          # CentOS 7

二、Nginx安装 & 配置

选择Nginx作为Web服务器,下面进行安装和配置

2.1 安装Nginx

先更新软件包列表,确保系统的包管理器是最新的:

bash 复制代码
apt update

再安装Nginx(-y 是apt的参数,表示自动确认,因为安装前会询问Do you want to continue? -y就无需手动确认)

bash 复制代码
apt install nginx -y

2.2 启动 Nginx 并设置开机自启

bash 复制代码
systemctl start nginx
systemctl enable nginx

2.3 验证 Nginx 是否已启动

bash 复制代码
sudo systemctl status nginx

正常运行时应看到 active (running) 状态。

三、云服务器安全组开放http(80)端口

我们尝试通过浏览器访问 http://{{ip}},会发现访问不了:

但是在服务器上通过curl -I http://localhost可以访问:

这是因为云服务器的安全组没有开发http(80)端口,快速添加一下:

操作成功后再次浏览器访问http://{{ip}}即生效:

三、Nginx配置页面路径

我希望把前端项目文件架丢上去后就可以通过相关路径访问,所以用到了 $uri(表示请求路径):

conf 复制代码
server {
    listen 80;
    listen [::]:80;

    root /var/www/html; # 指定 HTTP 根目录
    index index.html;

    location / {
        try_files $uri $uri/ =404; # 处理 HTTP 请求
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

效果是:

  • 通过 http://{{ip}}/a/b/c.html 会访问到 /var/www/html/a/b/c.html
  • 通过 http://{{ip}}/a/b/c 会访问到 /var/www/html/a/b/c/index.html
  • 找不到则 返回默认的 /40x.html

四、配置DNS域名解析

想要通过域名访问web服务,在阿里云域名控制台进行如下DNS解析设置:

测试生效。

五、支持HTTPS访问

我想要让网站既支持http访问也支持https访问,之前了一篇免费获取SSL证书并进行Nginx配置的文章(《永久免费!如何使用 Certbot 为域名配置永久免费的 HTTPS 证书》),直接参考操作即可。


经过上面的配置,现在可以通过 https://域名 访问web服务了。

相关推荐
泉城老铁1 小时前
Spring Boot 对接阿里云 OSS 的详细步骤和流程
java·后端·程序员
俞凡1 小时前
[大厂实践] Netflix 分布式计数器抽象
架构
Aurora_NeAr1 小时前
大数据之路:阿里巴巴大数据实践——元数据与计算管理
大数据·后端
喜欢板砖的牛马1 小时前
容器(docker container):你需要知道的一切
后端·docker
lichenyang4531 小时前
从零开始学Express,理解服务器,路由于中间件
后端
EnigmaGcl1 小时前
领域驱动设计,到底在讲什么?
后端·架构
丘山子2 小时前
API Gateway 工作原理介绍
前端·后端·面试
砌玉成璧2 小时前
Flask一个用户同时只能在一处登录实现
后端·python·flask
元闰子2 小时前
分离还是统一,这是个问题
后端·面试·架构
寻月隐君2 小时前
Rust Scoped Threads 实战:更安全、更简洁的并发编程
后端·rust·github