diff --git a/docs/getting-started/install/docker-compose.md b/docs/getting-started/install/docker-compose.md index 88349215..5a475d4b 100644 --- a/docs/getting-started/install/docker-compose.md +++ b/docs/getting-started/install/docker-compose.md @@ -284,9 +284,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/docs/getting-started/install/other/oneinstack.md b/docs/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/docs/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/docusaurus.config.js b/docusaurus.config.js index 2ed91b82..7c652bf7 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -217,10 +217,6 @@ const config = { to: "/1.6/getting-started/install/other/bt-panel", from: ["/zh/install/bt-panel", "/install/bt-panel"], }, - { - to: "/getting-started/install/other/oneinstack", - from: ["/zh/install/oneinstack", "/install/oneinstack"], - }, { to: "/1.6/getting-started/install/other/tencent-cloudbase", from: [ diff --git a/sidebars.js b/sidebars.js index 1edb260b..67f61001 100644 --- a/sidebars.js +++ b/sidebars.js @@ -44,7 +44,6 @@ module.exports = { type: "generated-index", }, items: [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik", ], diff --git a/versioned_docs/version-1.4/getting-started/install/docker.md b/versioned_docs/version-1.4/getting-started/install/docker.md index 3c53a379..62c2dd98 100644 --- a/versioned_docs/version-1.4/getting-started/install/docker.md +++ b/versioned_docs/version-1.4/getting-started/install/docker.md @@ -60,7 +60,7 @@ docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unle ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](/getting-started/install/other/oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.4/getting-started/install/linux.md b/versioned_docs/version-1.4/getting-started/install/linux.md index a1c8c983..b2c84fe6 100644 --- a/versioned_docs/version-1.4/getting-started/install/linux.md +++ b/versioned_docs/version-1.4/getting-started/install/linux.md @@ -221,7 +221,7 @@ journalctl -n 20 -u halo ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](/getting-started/install/other/oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.4/getting-started/install/other/oneinstack.md b/versioned_docs/version-1.4/getting-started/install/other/oneinstack.md deleted file mode 100644 index df3a6880..00000000 --- a/versioned_docs/version-1.4/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,274 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 的 vhost 脚本创建 Halo 站点的 Nginx 配置文件 ---- - -## Halo 部署 - -参见 [在 Linux 环境部署](../linux.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - -```bash -cd oneinstack -``` - -```bash -sh vhost.sh -``` - -2. 按照提示选择或输入相关信息 - -```bash -What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit -Please input the correct option: -``` - -这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - -```bash -Please input domain(example: www.example.com): -``` - -输入自己的域名即可,前提是已经提前解析好了域名。 - -```bash -Please input the directory for the domain:demo.halo.run : -(Default directory: /data/wwwroot/demo.halo.run): -``` - -提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - -```bash -Do you want to add more domain name? [y/n]: -``` - -是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - -```bash -Do you want to add hotlink protection? [y/n]: -``` - -是否需要做防盗链处理,按照需要选择即可。 - -```bash -Allow Rewrite rule? [y/n]: -``` - -路径重写配置,我们不需要,选择 n 回车确定即可。 - -```bash -Allow Nginx/Tengine/OpenResty access_log? [y/n]: -``` - -Nginx 的请求日志,建议选择 y。 - -这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - -```bash -Your domain: demo.halo.run -Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf -Directory of: /data/wwwroot/demo.halo.run -``` - -Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - -```bash -vim /usr/local/nginx/conf/vhost/demo.halo.run.conf -``` - -2. 删除一些不必要的配置 - -```nginx -location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; -} -``` - -此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - -在 `server` 的同级节点添加如下配置: - -```nginx -upstream halo { - server 127.0.0.1:8090; -} -``` - -4. 在 `server` 节点添加如下配置 - -```nginx -location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; -} -``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - -```nginx -location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; -} -``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - -```nginx -location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; -} -``` - -如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - -OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - -```nginx -location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; -} -``` - -至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - -```nginx -upstream halo { - server 127.0.0.1:8090; -} -server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } -} -``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-1.5/getting-started/install/docker.md b/versioned_docs/version-1.5/getting-started/install/docker.md index cedab67b..6d6ada32 100644 --- a/versioned_docs/version-1.5/getting-started/install/docker.md +++ b/versioned_docs/version-1.5/getting-started/install/docker.md @@ -64,7 +64,7 @@ docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unle ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](./other/oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.5/getting-started/install/linux.md b/versioned_docs/version-1.5/getting-started/install/linux.md index cde8896e..cf64e4c9 100644 --- a/versioned_docs/version-1.5/getting-started/install/linux.md +++ b/versioned_docs/version-1.5/getting-started/install/linux.md @@ -221,7 +221,7 @@ journalctl -n 20 -u halo ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](./other/oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.5/getting-started/install/other/docker-compose.md b/versioned_docs/version-1.5/getting-started/install/other/docker-compose.md index 02a555e9..26401446 100644 --- a/versioned_docs/version-1.5/getting-started/install/other/docker-compose.md +++ b/versioned_docs/version-1.5/getting-started/install/other/docker-compose.md @@ -197,7 +197,7 @@ description: 使用 Docker Compose 部署 Halo ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](./oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.5/getting-started/install/other/oneinstack.md b/versioned_docs/version-1.5/getting-started/install/other/oneinstack.md deleted file mode 100644 index df3a6880..00000000 --- a/versioned_docs/version-1.5/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,274 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 的 vhost 脚本创建 Halo 站点的 Nginx 配置文件 ---- - -## Halo 部署 - -参见 [在 Linux 环境部署](../linux.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - -```bash -cd oneinstack -``` - -```bash -sh vhost.sh -``` - -2. 按照提示选择或输入相关信息 - -```bash -What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit -Please input the correct option: -``` - -这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - -```bash -Please input domain(example: www.example.com): -``` - -输入自己的域名即可,前提是已经提前解析好了域名。 - -```bash -Please input the directory for the domain:demo.halo.run : -(Default directory: /data/wwwroot/demo.halo.run): -``` - -提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - -```bash -Do you want to add more domain name? [y/n]: -``` - -是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - -```bash -Do you want to add hotlink protection? [y/n]: -``` - -是否需要做防盗链处理,按照需要选择即可。 - -```bash -Allow Rewrite rule? [y/n]: -``` - -路径重写配置,我们不需要,选择 n 回车确定即可。 - -```bash -Allow Nginx/Tengine/OpenResty access_log? [y/n]: -``` - -Nginx 的请求日志,建议选择 y。 - -这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - -```bash -Your domain: demo.halo.run -Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf -Directory of: /data/wwwroot/demo.halo.run -``` - -Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - -```bash -vim /usr/local/nginx/conf/vhost/demo.halo.run.conf -``` - -2. 删除一些不必要的配置 - -```nginx -location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; -} -``` - -此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - -在 `server` 的同级节点添加如下配置: - -```nginx -upstream halo { - server 127.0.0.1:8090; -} -``` - -4. 在 `server` 节点添加如下配置 - -```nginx -location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; -} -``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - -```nginx -location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; -} -``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - -```nginx -location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; -} -``` - -如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - -OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - -```nginx -location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; -} -``` - -至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - -```nginx -upstream halo { - server 127.0.0.1:8090; -} -server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } -} -``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-1.6/getting-started/install/docker.md b/versioned_docs/version-1.6/getting-started/install/docker.md index c6e25d59..fb8d243c 100644 --- a/versioned_docs/version-1.6/getting-started/install/docker.md +++ b/versioned_docs/version-1.6/getting-started/install/docker.md @@ -64,7 +64,7 @@ docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unle ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](./other/oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.6/getting-started/install/linux.md b/versioned_docs/version-1.6/getting-started/install/linux.md index b095cfd2..57ad83a6 100644 --- a/versioned_docs/version-1.6/getting-started/install/linux.md +++ b/versioned_docs/version-1.6/getting-started/install/linux.md @@ -221,7 +221,7 @@ journalctl -n 20 -u halo ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](./other/oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.6/getting-started/install/other/docker-compose.md b/versioned_docs/version-1.6/getting-started/install/other/docker-compose.md index a759cdd7..dbe31115 100644 --- a/versioned_docs/version-1.6/getting-started/install/other/docker-compose.md +++ b/versioned_docs/version-1.6/getting-started/install/other/docker-compose.md @@ -197,7 +197,7 @@ description: 使用 Docker Compose 部署 Halo ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](./oneinstack) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-1.6/getting-started/install/other/oneinstack.md b/versioned_docs/version-1.6/getting-started/install/other/oneinstack.md deleted file mode 100644 index df3a6880..00000000 --- a/versioned_docs/version-1.6/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,274 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 的 vhost 脚本创建 Halo 站点的 Nginx 配置文件 ---- - -## Halo 部署 - -参见 [在 Linux 环境部署](../linux.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - -```bash -cd oneinstack -``` - -```bash -sh vhost.sh -``` - -2. 按照提示选择或输入相关信息 - -```bash -What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit -Please input the correct option: -``` - -这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - -```bash -Please input domain(example: www.example.com): -``` - -输入自己的域名即可,前提是已经提前解析好了域名。 - -```bash -Please input the directory for the domain:demo.halo.run : -(Default directory: /data/wwwroot/demo.halo.run): -``` - -提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - -```bash -Do you want to add more domain name? [y/n]: -``` - -是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - -```bash -Do you want to add hotlink protection? [y/n]: -``` - -是否需要做防盗链处理,按照需要选择即可。 - -```bash -Allow Rewrite rule? [y/n]: -``` - -路径重写配置,我们不需要,选择 n 回车确定即可。 - -```bash -Allow Nginx/Tengine/OpenResty access_log? [y/n]: -``` - -Nginx 的请求日志,建议选择 y。 - -这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - -```bash -Your domain: demo.halo.run -Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf -Directory of: /data/wwwroot/demo.halo.run -``` - -Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - -```bash -vim /usr/local/nginx/conf/vhost/demo.halo.run.conf -``` - -2. 删除一些不必要的配置 - -```nginx -location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; -} -``` - -此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - -在 `server` 的同级节点添加如下配置: - -```nginx -upstream halo { - server 127.0.0.1:8090; -} -``` - -4. 在 `server` 节点添加如下配置 - -```nginx -location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; -} -``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - -```nginx -location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; -} -``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - -```nginx -location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; -} -``` - -如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - -OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - -```nginx -location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; -} -``` - -至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - -```nginx -upstream halo { - server 127.0.0.1:8090; -} -server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } -} -``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.0/getting-started/install/docker-compose.md b/versioned_docs/version-2.0/getting-started/install/docker-compose.md index 15e57027..b4bae082 100644 --- a/versioned_docs/version-2.0/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.0/getting-started/install/docker-compose.md @@ -246,7 +246,7 @@ import DockerEnv from "./slots/docker-env.md" ## 反向代理 -你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。如果你对 Nginx 不熟悉,我们推荐使用 [OneinStack](../install/other/oneinstack.md) 来管理 Nginx。 +你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 ### Nginx diff --git a/versioned_docs/version-2.0/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.0/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.0/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.1/getting-started/install/docker-compose.md b/versioned_docs/version-2.1/getting-started/install/docker-compose.md index adebf559..f6f39faf 100644 --- a/versioned_docs/version-2.1/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.1/getting-started/install/docker-compose.md @@ -249,9 +249,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Traefik diff --git a/versioned_docs/version-2.1/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.1/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.1/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.10/getting-started/install/docker-compose.md b/versioned_docs/version-2.10/getting-started/install/docker-compose.md index 88349215..5a475d4b 100644 --- a/versioned_docs/version-2.10/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.10/getting-started/install/docker-compose.md @@ -284,9 +284,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/versioned_docs/version-2.10/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.10/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.10/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.2/getting-started/install/docker-compose.md b/versioned_docs/version-2.2/getting-started/install/docker-compose.md index ec0ef123..0d74cb83 100644 --- a/versioned_docs/version-2.2/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.2/getting-started/install/docker-compose.md @@ -267,9 +267,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Traefik diff --git a/versioned_docs/version-2.2/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.2/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.2/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.3/getting-started/install/docker-compose.md b/versioned_docs/version-2.3/getting-started/install/docker-compose.md index d7a930ee..83021013 100644 --- a/versioned_docs/version-2.3/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.3/getting-started/install/docker-compose.md @@ -295,9 +295,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Traefik diff --git a/versioned_docs/version-2.3/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.3/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.3/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.4/getting-started/install/docker-compose.md b/versioned_docs/version-2.4/getting-started/install/docker-compose.md index 74e46551..20292b49 100644 --- a/versioned_docs/version-2.4/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.4/getting-started/install/docker-compose.md @@ -301,9 +301,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Traefik diff --git a/versioned_docs/version-2.4/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.4/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.4/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.5/getting-started/install/docker-compose.md b/versioned_docs/version-2.5/getting-started/install/docker-compose.md index 61d76344..56639525 100644 --- a/versioned_docs/version-2.5/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.5/getting-started/install/docker-compose.md @@ -301,9 +301,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/versioned_docs/version-2.5/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.5/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.5/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.6/getting-started/install/docker-compose.md b/versioned_docs/version-2.6/getting-started/install/docker-compose.md index faa0d2de..9fcad690 100644 --- a/versioned_docs/version-2.6/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.6/getting-started/install/docker-compose.md @@ -301,9 +301,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/versioned_docs/version-2.6/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.6/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.6/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.7/getting-started/install/docker-compose.md b/versioned_docs/version-2.7/getting-started/install/docker-compose.md index 7ef4214e..d1192cfd 100644 --- a/versioned_docs/version-2.7/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.7/getting-started/install/docker-compose.md @@ -301,9 +301,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/versioned_docs/version-2.7/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.7/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.7/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.8/getting-started/install/docker-compose.md b/versioned_docs/version-2.8/getting-started/install/docker-compose.md index 1a25367d..c6703bad 100644 --- a/versioned_docs/version-2.8/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.8/getting-started/install/docker-compose.md @@ -301,9 +301,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/versioned_docs/version-2.8/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.8/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.8/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_docs/version-2.9/getting-started/install/docker-compose.md b/versioned_docs/version-2.9/getting-started/install/docker-compose.md index fdba139f..ab989928 100644 --- a/versioned_docs/version-2.9/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.9/getting-started/install/docker-compose.md @@ -284,9 +284,8 @@ import DockerArgs from "./slots/docker-args.md" 你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其的基本操作有一定了解。 如果你对它们没有任何了解,可以参考我们更为详细的反向代理文档: -1. 使用 [OneinStack](../install/other/oneinstack.md) -2. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) -3. 使用 [Traefik](../install/other/traefik.md) +1. 使用 [Nginx Proxy Manager](../install/other/nginxproxymanager.md) +2. 使用 [Traefik](../install/other/traefik.md) ### Nginx diff --git a/versioned_docs/version-2.9/getting-started/install/other/oneinstack.md b/versioned_docs/version-2.9/getting-started/install/other/oneinstack.md deleted file mode 100644 index 0e3106a8..00000000 --- a/versioned_docs/version-2.9/getting-started/install/other/oneinstack.md +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: 与 OneinStack 配合使用 -description: 使用 OneinStack 管理 Halo 服务的反向代理 ---- - -:::warning 提醒 -OneinStack 近期被发现安装包包含恶意代码,请谨慎使用,详见: - -如果近期有安装过 OneinStack,建议根据上面的 issue 内容进行检查。 -::: - -## Halo 部署 - -参见 [使用 Docker Compose 部署](../docker-compose.md) - -:::info -`「反向代理」` 部分不进行操作,保证 Halo 服务运行无误即可。 -::: - -## 通过 OneinStack 安装 Nginx - -点击下方链接进入 OneinStack 官网,仅选择 `安装 Nginx`,其他的都可以取消选择。 - - - -最后点击 `复制安装命令` 到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样: - -```bash -wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 -``` - -:::info -这一步会经过编译安装,可能会导致安装时间很漫长,这主要取决于你服务器的性能。 -::: - -出现下面的信息即代表安装成功: - -```bash -Nginx installed successfully! -Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. -Redirecting to /bin/systemctl start nginx.service -####################Congratulations######################## -Total OneinStack Install Time: 5 minutes - -Nginx install dir: /usr/local/nginx -``` - -## 创建 vhost - -> 即创建一个站点,你可以通过这样的方式在你的服务器创建无限个站点。接下来的目的就是创建一个站点,并反向代理到 Halo。这一步在此教程使用 `demo.halo.run` 这个域名做演示,实际情况请修改此域名。 - -1. 进入到 oneinstack 目录,执行 vhost 创建命令 - - ```bash - cd oneinstack - ``` - - ```bash - sh vhost.sh - ``` - -2. 按照提示选择或输入相关信息 - - ```bash - What Are You Doing? - 1. Use HTTP Only - 2. Use your own SSL Certificate and Key - 3. Use Let's Encrypt to Create SSL Certificate and Key - q. Exit - Please input the correct option: - ``` - - 这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 `Let's Encrypt` 申请证书,选择 3 即可。 - - ```bash - Please input domain(example: www.example.com): - ``` - - 输入自己的域名即可,前提是已经提前解析好了域名。 - - ```bash - Please input the directory for the domain:demo.halo.run : - (Default directory: /data/wwwroot/demo.halo.run): - ``` - - 提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。 - - ```bash - Do you want to add more domain name? [y/n]: - ``` - - 是否需要添加其他域名,按照需要选择即可,如果不需要,输入 n 并回车确认。 - - ```bash - Do you want to add hotlink protection? [y/n]: - ``` - - 是否需要做防盗链处理,按照需要选择即可。 - - ```bash - Allow Rewrite rule? [y/n]: - ``` - - 路径重写配置,我们不需要,选择 n 回车确定即可。 - - ```bash - Allow Nginx/Tengine/OpenResty access_log? [y/n]: - ``` - - Nginx 的请求日志,建议选择 y。 - - 这样就完成了 vhost 站点的创建,最终会输出站点的相关信息: - - ```bash - Your domain: demo.halo.run - Virtualhost conf: /usr/local/nginx/conf/vhost/demo.halo.run.conf - Directory of: /data/wwwroot/demo.halo.run - ``` - - Nginx 的配置文件即 `/usr/local/nginx/conf/vhost/demo.halo.run.conf`。 - -## 修改 Nginx 配置文件 - -上方创建 vhost 的过程并没有创建反向代理的配置,所以需要我们自己修改一下配置文件。 - -1. 使用你熟悉的工具打开配置文件,此教程使用 vim。 - - ```bash - vim /usr/local/nginx/conf/vhost/demo.halo.run.conf - ``` - -2. 删除一些不必要的配置 - - ```nginx - location ~ [^/]\.php(/|$) { - #fastcgi_pass remote_php_ip:9000; - fastcgi_pass unix:/dev/shm/php-cgi.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - ``` - - 此段配置是针对 php 应用的,所以可以删掉。 - -3. 添加 `upstream` 配置 - - 在 `server` 的同级节点添加如下配置: - - ```nginx {2} - upstream halo { - server 127.0.0.1:8090; - } - ``` - -4. 在 `server` 节点添加如下配置 - - ```nginx {6} - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - ``` - -5. 修改 `location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$` 节点 - - ```nginx {2} - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` - -6. 修改 `location ~ .*\.(js|css)?$` 节点 - - ```nginx {2} - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - ``` - - 如果不按照第 5,6 步操作,请求一些图片或者样式文件不会经过 Halo,所以请不要忽略此配置。 - -7. 添加 acme.sh 续签验证路由 - - OneinStack 使用的 acme.sh 管理证书,如果你在创建 vhost 的时候选择了使用 `Let's Encrypt` 申请证书,那么 OneinStack 会在系统内添加一个定时任务去自动续签证书,acme.sh 默认验证站点所有权的方式为在站点根目录生成一个文件(.well-known)来做验证,由于配置了反向代理,所以在验证的时候是无法直接访问到站点目录下的 .well-known 文件夹下的验证文件的。需要添加如下配置: - - ```nginx {4} - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - ``` - - 至此,配置修改完毕,保存即可。最终你的配置文件可能如下面配置一样: - - ```nginx {2,20,29,34,41-47,51} - upstream halo { - server 127.0.0.1:8090; - } - server { - listen 80; - listen [::]:80; - listen 443 ssl http2; - listen [::]:443 ssl http2; - ssl_certificate /usr/local/nginx/conf/ssl/demo.halo.run.crt; - ssl_certificate_key /usr/local/nginx/conf/ssl/demo.halo.run.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; - ssl_prefer_server_ciphers on; - ssl_session_timeout 10m; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_buffer_size 1400; - add_header Strict-Transport-Security max-age=15768000; - ssl_stapling on; - ssl_stapling_verify on; - server_name demo.halo.run; - access_log /data/wwwlogs/demo.halo.run_nginx.log combined; - index index.html index.htm index.php; - root /data/wwwroot/demo.halo.run; - if ($ssl_protocol = "") { return 301 https://$host$request_uri; } - include /usr/local/nginx/conf/rewrite/none.conf; - #error_page 404 /404.html; - #error_page 502 /502.html; - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - location ~ .*\.(js|css)?$ { - proxy_pass http://halo; - expires 7d; - access_log off; - } - location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { - deny all; - } - location / { - proxy_set_header HOST $host; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://halo; - } - location ^~ /.well-known/acme-challenge/ { - default_type "text/plain"; - allow all; - root /data/wwwroot/demo.halo.run/; - } - } - ``` - -## 重载 Nginx 使配置生效 - -验证 nginx 配置 - -```bash -nginx -t -``` - -如果输出如下提示则代表配置有效: - -```bash -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -``` - -重载 Nginx 配置: - -```bash -nginx -s reload -``` - -至此,整个教程完毕,现在你可以访问域名检查是否已经配置成功。 diff --git a/versioned_sidebars/version-1.4-sidebars.json b/versioned_sidebars/version-1.4-sidebars.json index ee0bca74..0dbab7de 100644 --- a/versioned_sidebars/version-1.4-sidebars.json +++ b/versioned_sidebars/version-1.4-sidebars.json @@ -18,7 +18,6 @@ "label": "其他指南", "items": [ "getting-started/install/other/bt-panel", - "getting-started/install/other/oneinstack", "getting-started/install/other/tencent-cloudbase", "getting-started/install/other/docker-mysql", { diff --git a/versioned_sidebars/version-1.5-sidebars.json b/versioned_sidebars/version-1.5-sidebars.json index a0be6bc0..1daef6a7 100644 --- a/versioned_sidebars/version-1.5-sidebars.json +++ b/versioned_sidebars/version-1.5-sidebars.json @@ -18,7 +18,6 @@ "label": "其他指南", "items": [ "getting-started/install/other/bt-panel", - "getting-started/install/other/oneinstack", "getting-started/install/other/tencent-cloudbase", "getting-started/install/other/docker-mysql", "getting-started/install/other/docker-compose" diff --git a/versioned_sidebars/version-1.6-sidebars.json b/versioned_sidebars/version-1.6-sidebars.json index a0be6bc0..1daef6a7 100644 --- a/versioned_sidebars/version-1.6-sidebars.json +++ b/versioned_sidebars/version-1.6-sidebars.json @@ -18,7 +18,6 @@ "label": "其他指南", "items": [ "getting-started/install/other/bt-panel", - "getting-started/install/other/oneinstack", "getting-started/install/other/tencent-cloudbase", "getting-started/install/other/docker-mysql", "getting-started/install/other/docker-compose" diff --git a/versioned_sidebars/version-2.0-sidebars.json b/versioned_sidebars/version-2.0-sidebars.json index 8ec2c852..7036eac0 100644 --- a/versioned_sidebars/version-2.0-sidebars.json +++ b/versioned_sidebars/version-2.0-sidebars.json @@ -23,7 +23,6 @@ "type": "category", "label": "其他指南", "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager" ] } diff --git a/versioned_sidebars/version-2.1-sidebars.json b/versioned_sidebars/version-2.1-sidebars.json index 3d05fd75..01344a2e 100644 --- a/versioned_sidebars/version-2.1-sidebars.json +++ b/versioned_sidebars/version-2.1-sidebars.json @@ -23,7 +23,6 @@ "type": "category", "label": "其他指南", "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.10-sidebars.json b/versioned_sidebars/version-2.10-sidebars.json index ea68648d..d6007485 100644 --- a/versioned_sidebars/version-2.10-sidebars.json +++ b/versioned_sidebars/version-2.10-sidebars.json @@ -29,7 +29,6 @@ "type": "generated-index" }, "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.2-sidebars.json b/versioned_sidebars/version-2.2-sidebars.json index ba1827d0..cd0e15d1 100644 --- a/versioned_sidebars/version-2.2-sidebars.json +++ b/versioned_sidebars/version-2.2-sidebars.json @@ -23,7 +23,6 @@ "type": "category", "label": "其他指南", "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.3-sidebars.json b/versioned_sidebars/version-2.3-sidebars.json index f3f9f4dc..36ed11dd 100644 --- a/versioned_sidebars/version-2.3-sidebars.json +++ b/versioned_sidebars/version-2.3-sidebars.json @@ -24,7 +24,6 @@ "type": "category", "label": "其他指南", "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.4-sidebars.json b/versioned_sidebars/version-2.4-sidebars.json index 0cc24440..d7af7a5f 100644 --- a/versioned_sidebars/version-2.4-sidebars.json +++ b/versioned_sidebars/version-2.4-sidebars.json @@ -24,7 +24,6 @@ "type": "category", "label": "其他指南", "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.5-sidebars.json b/versioned_sidebars/version-2.5-sidebars.json index 0cc24440..d7af7a5f 100644 --- a/versioned_sidebars/version-2.5-sidebars.json +++ b/versioned_sidebars/version-2.5-sidebars.json @@ -24,7 +24,6 @@ "type": "category", "label": "其他指南", "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.6-sidebars.json b/versioned_sidebars/version-2.6-sidebars.json index cdde0ab8..0aed83d1 100644 --- a/versioned_sidebars/version-2.6-sidebars.json +++ b/versioned_sidebars/version-2.6-sidebars.json @@ -28,7 +28,6 @@ "type": "generated-index" }, "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.7-sidebars.json b/versioned_sidebars/version-2.7-sidebars.json index e9cdb138..f42d1d85 100644 --- a/versioned_sidebars/version-2.7-sidebars.json +++ b/versioned_sidebars/version-2.7-sidebars.json @@ -28,7 +28,6 @@ "type": "generated-index" }, "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.8-sidebars.json b/versioned_sidebars/version-2.8-sidebars.json index a4047090..207198d3 100644 --- a/versioned_sidebars/version-2.8-sidebars.json +++ b/versioned_sidebars/version-2.8-sidebars.json @@ -28,7 +28,6 @@ "type": "generated-index" }, "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ] diff --git a/versioned_sidebars/version-2.9-sidebars.json b/versioned_sidebars/version-2.9-sidebars.json index 2841cd7c..59a2bd16 100644 --- a/versioned_sidebars/version-2.9-sidebars.json +++ b/versioned_sidebars/version-2.9-sidebars.json @@ -29,7 +29,6 @@ "type": "generated-index" }, "items": [ - "getting-started/install/other/oneinstack", "getting-started/install/other/nginxproxymanager", "getting-started/install/other/traefik" ]