Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • mac

  • win

  • linux

  • ai

  • IDE

  • 实用工具

    • README模板
    • 网站规范
    • 阿里云服务器搭建个人网站
      • 1. 服务器
      • 2. 域名
        • 备案
        • 解析
      • 3. Nginx 配置
        • 创建 Nginx 配置文件
        • 复制容器文件到宿主机
        • 删除已启动 Nginx 容器
        • 创建 Nginx 容器并运行
        • 配置 SSL 证书
        • 创建 Nginx 容器并挂载数据卷
        • 修改 nginx 配置
      • 4. 代码上传
      • 5. References
    • Latex
  • NAS

  • GitHub

  • Tex

  • Others
  • 实用工具
Geeks_Z
2023-11-03
目录

阿里云服务器搭建个人网站

image-20231103170538800

1. 服务器

推荐选用阿里云、腾讯云,百度云等。

2. 域名

域名,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。

IP 地址,是 Internet 主机的作为路由寻址用的数字型标识,人不容易记忆,因而产生了域名这一种字符型标识。

通俗的说域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。这也意味着在全世界没有重复的域名。当然,此时没有域名也可以使用 IP 地址来访问你的网站。

备案

所谓的网站备案其实是网站的 ICP 备案的简称,国家相关规定如下:《互联网信息服务管理办法》指出互联网信息服务分为经营性和非经营性两类。国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务。

一般来说,备案指的是域名进行备案,而不是服务器进行备案。一个网站是否备案,是取决于网站所用空间是国内还是国外的。 如果是国内主机,网站域名需要备案,才能通过域名访问到你的网站。 如果是国外主机,网站域名是不用备案的,也可以通过域名访问。

备案的流程参考首次备案流程 (opens new window)

解析

域名解析是把域名指向网站空间 IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP 地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替 IP 地址标识站点地址。域名解析就是域名到 IP 地址的转换过程。域名的解析工作由 DNS 服务器完成。

3. Nginx 配置

创建 Nginx 配置文件

启动前需要先创建 Nginx 外部挂载的配置文件( /home/nginx/conf/nginx.conf) 之所以要先创建 , 是因为 Nginx 本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件 当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候, docker 会将 nginx.conf 作为目录创建 , 这并不是我们想要的结果 。

# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html
1
2
3
4

复制容器文件到宿主机

# 先生成容器
docker run --name nginx -p 9001:80 -d nginx:1.24
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/
1
2
3
4
5
6
7
8

image-20231103161956521

删除已启动 Nginx 容器

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx
1
2
3
4
5
6
7
8
9

创建 Nginx 容器并运行

配置 SSL 证书

SSL 证书的申请参考2022 阿里云免费 SSL 证书申请全过程(图文详解) (opens new window)

# 数据卷中创建ssl文件夹(存放SSL证书)
cd /home/nginx
mkdir ssl
# 将申请的SSL证书上传
1
2
3
4

创建 Nginx 容器并挂载数据卷

docker run \
-p 80:80 \
-p 443:443 \
--name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-v /home/nginx/ssl:/etc/nginx/ssl \
-d nginx:1.24
1
2
3
4
5
6
7
8
9
10
命令 描述
–name nginx 启动容器的名字
-d 后台运行
-p 80:80 将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 挂载 nginx.conf 配置文件
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d 挂载 nginx 配置文件
-v /home/nginx/log:/var/log/nginx 挂载 nginx 日志文件
-v /home/nginx/html:/usr/share/nginx/html 挂载 nginx 内容
nginx:1.24 本地运行的版本
\ shell 命令换行

image-20231103110403818

单行模式

docker run -p 80:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:1.22
1

修改 nginx 配置

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


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

    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;

    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 80;
        server_name www.hwzhao.cn hwzhao.cn;

        rewrite /(.*)  https://www.hwzhao.cn/$1 redirect;
    }

    server {
        listen 443 ssl;
        server_name www.hwzhao.cn hwzhao.cn;  # 接收所有访问443端口的请求
        ssl_certificate ssl/www.hwzhao.cn.pem;
        ssl_certificate_key ssl/www.hwzhao.cn.key;

        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        #配置根目录以及默认页面
        # location / {
        #     root html
        #     index  index.html index.htm index.php;
        # }
        # Blog-配置根目录以及默认页面

        location / {
			proxy_set_header   X-Real-IP         $remote_addr;
			proxy_set_header   Host              $http_host;
			proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
			root   /usr/share/nginx/html;
			try_files $uri $uri/ /index.html;
		}

        # location ^~ /api/ {
        #     proxy_pass http://47.92.99.39:8080/;
        #     proxy_set_header   Host             $host;
        #     proxy_set_header   X-Real-IP        $remote_addr;
        #     proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # }

        #出错页面配置
        error_page   500 502 503 504  /50x.html;
        #/50x.html文件所在位置
        location = /50x.html {
            root   html;
        }
    }

    include /etc/nginx/conf.d/*.conf;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

4. 代码上传

上传前端代码到 /home/nginx/html

5. References

  • 网站部署详细流程(包括域名,服务器的配置等) (opens new window)
  • 从 0 开始学习搭建自己的网站(详细版) (opens new window)
#Tools
上次更新: 2025/07/06, 13:25:25
网站规范
Latex

← 网站规范 Latex→

最近更新
01
优化器
07-04
02
weight_decay
07-03
03
帮助信息查看
06-08
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式