轻松设置:服务器域名配置全攻略

目录

前置条件

在阅读本篇内容之前,请先确保以下物料已准备好:

  • 一台公网服务器,服务正常运行
  • 申请完成的域名,在对应域名服务商后台正常DNS解析
  • 域名备案完成
  • 可选条件:有https访问请求时,需要申请SSL证书

下面是我的配置:

公网服务器

公网服务器我使用的是阿里云ESC,使用docker运行了halo博客系统,对应端口是8090。使用ps aux | grep portlsof -i : 8090可以查看对应端口占用和具体服务运行情况。

域名完成DNS解析

在域名服务商后台给自己的域名配置DNS解析,如果不知道如何操作,点击新手引导即可。完成后状态是绿色的正常,我是由于备案所以设为了暂停状态。

:新申请的域名需要实名认证通过后注册局需1-2个工作日同步信息,同步后DNS正常可以设置解析记录。

域名备案

在云服务商完成DNS解析、实名认证后,域名即可正常使用,但是需要及时备案使用。

容易混淆的地方:

实名认证模板 ≠ 域名备案实名认证。

域名实名认证成功 ≠ 域名备案成功。

备案信息可以在域名服务商进行申请,以阿里云为例:

可选:SSL证书申请

什么是SSL证书?

SSL 证书是一个数字证书,用于认证网站的身份并启用加密连接。SSL 代表安全套接字层,这是一个安全协议,可在 Web 服务器和 Web 浏览器之间创建加密链接。

翻译一下就是通过SSL证书,可以把你不安全的http请求变成加密、安全的https请求。

SSL证书分为两种:正式证书和个人测试证书,正式证书需要购买,个人测试证书免费,有效期三个月,阿里云每年单个域名可以签发20个免费证书,到有效期后再次下载新的免费证书替换即可,20个免费证书足够一年的使用量。

在页面签发后下载到本地以备下文使用。

以上便完成了配置域名的所有准备工作。

Nginx配置

在个人公网服务器上安装Nginx,以CentOS 7.9为例:

Nginx安装

  1. 更新系统包: 首先,确保你的系统包是最新的:
sudo yum update
  1. 安装EPEL仓库: EPEL(Extra Packages for Enterprise Linux)是一个由Fedora社区构建的高质量软件包集合,提供了许多不在默认仓库中的软件包。安装EPEL仓库:
sudo yum install epel-release
  1. 安装Nginx: 使用yum包管理器安装Nginx:
sudo yum install nginx -y
  1. 启动Nginx服务: 安装完成后,启动Nginx服务:
sudo systemctl start nginx
  1. 设置Nginx开机自启:如果需要让Nginx在系统启动时自动启动,执行以下命令:
sudo systemctl enable nginx
  1. 检查Nginx状态: 检查Nginx服务是否正在运行:
sudo systemctl status nginx
  1. 访问Nginx: 在浏览器中输入http://你的服务器IP地址,你应该能看到Nginx的欢迎页面。

配置反向代理

在配置前需要安装unzip工具以解压上文保存在本地的ssl证书。

sudo yum install unzip -y

将ssl证书的压缩包解压到/etc/pki/nginx/private/路径下,可自定义路径,自定义路径在nginx.conf配置中ssl_certificatessl_certificate_key填写自定义路径即可。

解压ssl文件:

unzip your_file.zip

解压后是一个.pem文件和一个.key文件,为了后续配置方便,我将文件名称分别改为:server.pem、server.key。

进入Nginx配置文件路径,Nginx的配置文件通常位于/etc/nginx/nginx.conf。编辑这个文件来配置反向代理。

使用vimvi工具编辑nginx.conf文件:

vim /etc/nginx/nginx.conf

我的配置文件:

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen [::]:80 default_server;
        server_name  www.treecode.top; # 改成你的域名
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

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

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

# Settings for a TLS enabled server.
#
    server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  www.treecode.top; #改成你的域名
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/pki/nginx/private/server.pem"; #改成你刚刚解压的文件路径
        ssl_certificate_key "/etc/pki/nginx/private/server.key"; #改成你刚刚解压的文件路径
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

  location / {
           proxy_pass http://127.0.0.1:8090; #端口改成你运行服务的端口
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
        }

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

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

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

}

按上述注释中修改即可。

编辑完成后测试配置语法是否正确:

nginx -t

如果失败,按提示行数进行检查修改。

重载nginx配置文件:

nginx -s reload

重启Nginx服务: 配置更改后,重启Nginx服务以应用更改:

sudo systemctl restart nginx

配置完成后可以在本地使用curl命令或者访问域名检查是否生效:

未完待续,持续更新


关于我

👋🏻你好,我是Debug.c。微信公众号:种棵代码技术树 的维护者,一个跨专业自学Java,对技术保持热爱的bug猿,同样也是在某二线城市打拼四年余的Java Coder。

🏆在掘金、CSDN、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。

📞如果您对我感兴趣,请联系我。

若有收获,就点个赞吧,喜欢原图请私信我。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/777889.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android在framework层添加自定义服务的流程

环境说明 ubuntu16.04android4.1java version “1.6.0_45”GNU Make 3.81gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 可能有人会问,现在都2024了怎么还在用android4版本,早都过时了。确实,现在最新的都是Android13、And…

在Linux环境下搭建Redis服务结合内网穿透实现通过GUI工具远程管理数据库

文章目录 前言1. 安装Docker步骤2. 使用docker拉取redis镜像3. 启动redis容器4. 本地连接测试4.1 安装redis图形化界面工具4.2 使用RDM连接测试 5. 公网远程访问本地redis5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Li…

Python处理表格数据常用的 N+个操作

Python作为一种强大且易用的编程语言,其在数据处理方面表现尤为出色。特别是当我们面对大量的表格数据时,Python的各类库和工具可以极大地提高我们的工作效率。以下,我将详细介绍Python处理表格数据常用的操作。 首先,我们需要安…

【算法笔记自学】第 3 章 入门篇(1)——入门模拟

3.1简单模拟 自己写的题解 #include <stdio.h> #include <stdlib.h> int main() {int N;int num0;scanf("%d",&N);while(N!1){if(N%20){NN/2;}else{N(3*N1)/2;}num;}printf("%d",num);system("pause"); // 防止运行后自动退出&…

SpringBoot+OSS实现文件上传

创建spring boot项目 pom依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></dependency><dependency><groupId>javax.xml.bind</groupI…

Transformer前置知识:Seq2Seq模型

Seq2Seq model Seq2Seq&#xff08;Sequence to Sequence&#xff09;模型是一类用于将一个序列转换为另一个序列的深度学习模型&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;如机器翻译、文本摘要、对话生成等。Seq2Seq模型由编码器&#…

直播预告|飞思实验室暑期公益培训7月10日正式开启,报名从速!

01 培训背景 很荣幸地向大家宣布&#xff1a;卓翼飞思实验室将于7月10日正式开启为期两个月的暑期公益培训&#xff01;本次培训为线上直播&#xff0c;由中南大学计算机学院特聘副教授&#xff0c;RflySim平台总研发负责人戴训华副教授主讲。 培训将基于“RflySim—智能无人…

数据可视化之智慧农业的窗口与引擎

在科技日新月异的今天,农业作为国民经济的基础产业,正逐步向智能化、数字化转型。农业为主题的数据可视化大屏看板,作为这一转型过程中的重要工具,不仅为农业管理者提供了全面、实时的农田信息,还促进了农业资源的优化配置和农业生产效率的提升。本文将深入探讨农业数据可…

Git 运用小知识

1.Git添加未完善代码的解决方法 1.1 Git只是提交未推送 把未完善的代码提交到本地仓库 只需点击撤销提交&#xff0c;提交的未完善代码会被撤回 代码显示未提交状态 1.2 Git提交并推送 把未完善的代码提交并推送到远程仓库 点击【未完善提交并推送】的结点选择还原提交&#x…

最佳 iPhone 解锁软件工具,可免费下载用于电脑操作的

业内专业人士表示&#xff0c;如果您拥有 iPhone&#xff0c;您一定知道忘记锁屏密码会多么令人沮丧。由于 Apple 的安全功能强大&#xff0c;几乎不可能在没有密码或 Apple ID 的情况下访问锁定的 iPhone。 “当我忘记密码时&#xff0c;如何在没有密码的情况下解锁iPhone&am…

银河麒麟V10 SP1 审计工具 auditd更新

前言 银河麒麟V10 SP1 审计工具 auditd 引发的内存占用过高&#xff0c; 内存使用率一直在 60% 以上&#xff0c; 内存一直不释放 排查 可以使用ps或者top查看系统进程使用情况 ps -aux|sort -k4nr|head -n 5 发现银河麒麟审计工具 auditd 一直占用内存不释放 解决 办法一…

Java视频点播网站

作者介绍&#xff1a;计算机专业研究生&#xff0c;现企业打工人&#xff0c;从事Java全栈开发 主要内容&#xff1a;技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流&#xff08;SCI论文两篇&#xff09; 上点关注下点赞 生活越过…

基于OpenCv的快速图片颜色交换,轻松实现图片背景更换

图片颜色更换 图片颜色转换 当我们有2张图片,很喜欢第一张图片的颜色,第2张图片的前景照片,很多时候我们需要PS进行图片的颜色转换,这当然需要我们有强大的PS功底,当然小编这里不是介绍PS的,我们使用代码完全可以代替PS 进行图片的颜色转换 图片颜色转换步骤: 步骤…

智慧校园-教职工管理系统总体概述

在当今信息化时代&#xff0c;智慧校园教职工管理系统成为了提升教育机构管理效能的重要工具。该系统巧妙融合了先进的信息技术&#xff0c;为教职工的日常管理带来了一场静悄悄的革命。它不仅是一个信息存储库&#xff0c;记录着每位教职工从加入到离开的完整职业轨迹&#xf…

AI 与数据的智能融合丨大模型时代下的存储系统

WOT 全球技术创新大会2024北京站于 6 月 22 日圆满落幕。本届大会以“智启新纪&#xff0c;慧创万物”为主题&#xff0c;邀请到 60 位不同行业的专家&#xff0c;聚焦 AIGC、领导力、研发效能、架构演进、大数据等热门技术话题进行分享。 近年来&#xff0c;数据和人工智能已…

3.pwn 函数调用流程,调用约定

前置准备 pop: Pop指令的作用是弹栈&#xff0c;将栈顶的数据弹出到寄存器&#xff0c;然后栈顶指针向下移动一个单位。 具体来说:如pop rax&#xff0c;作用就是mov rax[rsp];add rsp 8; push: Push指令的作用就是压栈&#xff0c;将栈顶指针向上移动一个单位的距离&#xf…

如何使用uer做多分类任务

如何使用uer做多分类任务 语料集下载 找到这里点击即可 里面是这有json文件的 因此我们对此要做一些处理&#xff0c;将其转为tsv格式 # -*- coding: utf-8 -*- import json import csv import chardet# 检测文件编码 def detect_encoding(file_path):with open(file_path,…

【已解决】“import ... =“ 只能在 TypeScript 文件中使用

现象 在使用 import 语法的时候&#xff0c;代码报红&#xff0c;提示&#xff1a;“import ... “ 只能在 TypeScript 文件中使用 原因 代码被 VSCode 解析成 TypeScript 语法 解决方案&#xff1a; 关闭 JavaScript 的验证启用即可。 mac 快捷方式&#xff1a;comman s…

秋招突击——7/4——复习{}——新作{最长公共子序列、编辑距离、买股票最佳时机、跳跃游戏}

文章目录 引言复习新作1143-最长公共子序列个人实现 参考实现编辑距离个人实现参考实现 贪心——买股票的最佳时机个人实现参考实现 贪心——55-跳跃游戏个人实现参考做法 总结 引言 昨天主要是面试&#xff0c;然后剩下的时间都是用来对面试中不会的东西进行查漏补缺&#xff…

蓝桥杯web组国三选手题纲解析和备赛技巧--经验分享

蓝桥杯web组赛题解析和杯赛技巧 **&#x1f389;&#x1f389;&#x1f389;欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!&#x1f64f;&am…