轻松设置:服务器域名配置全攻略
创始人
2024-12-28 15:37:15
0

目录

前置条件

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

  • 一台公网服务器,服务正常运行
  • 申请完成的域名,在对应域名服务商后台正常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、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。

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

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

请添加图片描述

相关内容

热门资讯

辅助妙招!四川途游辅助软件下载... 辅助妙招!四川途游辅助软件下载,好友赣南能装挂吗,详细教程(有挂方略)四川途游辅助软件下载能透视中分...
曝光项目!科乐辅助,一起宁德钓... 曝光项目!科乐辅助,一起宁德钓蟹辅助器,详细教程(讲解有挂)1、超多福利:超高返利,海量正版游戏,科...
了解技法!潘潘讲故事app有挂... 了解技法!潘潘讲故事app有挂吗,潮汕激k脚本,详细教程(有挂详情)运潘潘讲故事app有挂吗辅助工具...
详情方案!微信小程序财神十三张... 详情方案!微信小程序财神十三张辅助,八仙竞技辅助,详细教程(有挂详情);1、进入游戏-大厅左侧-新手...
必备策略!广东闲来辅助神器免费... 必备策略!广东闲来辅助神器免费版,决战卡五星必赢神器,详细教程(有挂教学)1、广东闲来辅助神器免费版...
关于经验!广东雀神挂件定制面交... 关于经验!广东雀神挂件定制面交,牛魔王辅助器,详细教程(有挂辅助)1、任何广东雀神挂件定制面交透视是...
总结总结!杭州都莱大菠萝辅助器... 您好,九游破解辅助插件教程这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
解密指引!上饶辅助工具,潮汕掌... 解密指引!上饶辅助工具,潮汕掌上娱破解,详细教程(有挂秘籍)1、每一步都需要思考,不同水平的挑战潮汕...
普及方式!微信开发辅助工具,丽... 普及方式!微信开发辅助工具,丽水都莱有辅助吗,详细教程(有挂工具)微信开发辅助工具辅助器是一种具有地...
辅助项目!科乐辅助,哥哥打大a... 辅助项目!科乐辅助,哥哥打大a辅助工具视频,详细教程(有挂详细)哥哥打大a辅助工具视频辅助器是一种具...