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

通过上一篇文章中的准备,我们已经有了云服务器、域名、也通过了域名备案和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服务了。

相关推荐
武子康5 分钟前
Java-20 深入浅出 MyBatis - 手写ORM框架1 从原始 JDBC 暴露的 6 大问题开始
java·后端
雪隐13 分钟前
AI股票小助手06-Backtrader 量化回测
人工智能·后端
设计师小聂!21 分钟前
Java异常处理
java·开发语言·后端·编辑器·idea
ihuyigui23 分钟前
国际商超零售短信接口
大数据·前端·后端·架构·零售
SimonKing23 分钟前
实用,DynamicTP进阶之数据采集与告警
java·后端·程序员
ting945200024 分钟前
Fundraisly 融资定向 AI 智能体全栈技术深度剖析
人工智能·架构
用户2986985301427 分钟前
Java 进阶:基于模板生成 Word 文档的实践思路
java·后端
枕星而眠30 分钟前
C++ 面向对象核心机制深度解析:多态性、虚函数、虚继承与 final 类
运维·开发语言·c++·后端
Soofjan30 分钟前
其它(6):分布式知识体系
后端
tobias.b39 分钟前
JumpServer4\.10\.16离线部署\+外部Nginx反向代理 解决30分钟空闲断开WebSocket超时(延长10天)
运维·websocket·nginx