找回密码
 立即注册
查看: 1156|回复: 3

在windows的nginx下部署ghost博客系统的详细步骤和路径是怎么样的?

[复制链接]

317

主题

480

回帖

3057

积分

管理员

积分
3057
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:
/ {7 s  F+ E: x  W5 X& h8 v2 p9 v( k* M; w& Z$ d# J- M$ j
步骤1:安装Node.js
5 v( O5 H9 b3 j0 g  O: [3 I% @/ }3 [1 Q. ^# j! Y
在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。
# ?) j  h, z2 r7 \
) X- {0 D# U' T步骤2:安装Ghost' A" d$ d9 }' Z. F4 i
$ }# L/ v" [: I; ]4 J  w5 R% d
在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。3 R. i' p9 Q, U1 o
1 G# t9 A2 f: f! O1 S4 a' V
步骤3:配置NGINX: ~% H  g9 n, Z/ C. n

  ?5 k" Z1 I4 Y+ u! y/ ^安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:0 X  D  M9 U$ J7 M$ N0 C
) j( T+ W+ n8 W( a; }
```nginx) R- ^8 u9 c2 r3 L+ K
server {
( a9 h- P' D. d1 p3 z$ W+ e    listen 80;6 I8 O2 E1 [! y5 m  l
    server_name your-domain.com;: c/ v6 o+ z4 Y! {7 e, W% @
0 z' h# g/ V* k" e
    location / {; Z( K6 q* M0 z! c+ ^
        proxy_set_header X-Real-IP $remote_addr;
" f2 L$ T4 S. A4 W7 `        proxy_set_header Host $http_host;
' [5 n! Y& u: J# r9 P        proxy_pass http://127.0.0.1:2368;
; {) p  d/ Z: M7 d3 ?    }1 M/ I: u' t8 `5 I4 e
}
* z- V4 T2 C/ }% F6 r4 W) q1 u```7 B, D; G9 R4 y9 ]1 X
4 Y7 O$ d/ E- ]! d" C$ Z
将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。
) U8 [& M; H( |. h0 m4 p! B0 K/ o2 `' L3 R
步骤4:启动Ghost
' A2 o4 U- P# F' I# {. A! V  h+ C% R" M6 D$ k7 ]' h
在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。
% {) x* f0 n7 F, v; v0 {) y4 W& G) b# W/ G: [
默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。
. b: x+ _6 A7 H- @4 \7 j/ C$ |/ L) h$ h
这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

317

主题

480

回帖

3057

积分

管理员

积分
3057
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?
8 L7 V, W" H6 K" M9 l" u
; b+ F2 m( o  D8 A: p! ~0 L在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。- E; j3 C/ l6 p" d# U. y* l# G

' G1 ?8 [' M3 a+ ^; n0 b/ L6 \5 y在步骤3中,我们通过添加以下内容来指定Ghost的位置:
! T, T4 h6 Z7 J  K4 F  g2 a- O) {3 y
```nginx3 ~7 Q# B+ o6 e' P. k
location / {8 |( \; l2 H9 n# i' d8 q4 w
    proxy_set_header X-Real-IP $remote_addr;! g7 _  c; d8 E2 s
    proxy_set_header Host $http_host;# i7 O+ ]7 D' N" N
    proxy_pass http://127.0.0.1:2368;' g* m) l) j0 [: n8 v) f
}
% r+ L; D* l* v( r6 R; v```
- \! F. M- i- T3 X6 q+ v
: S* B5 C: T4 L( p在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。
* [8 D- l2 A( G2 s; Y2 \
! \5 g( y1 |1 {) g, r$ C$ U' ^如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。
: v( L6 r! W1 t/ u3 y' W) j# q, M- d8 g- W- m9 t
总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

317

主题

480

回帖

3057

积分

管理员

积分
3057
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?5 e4 f9 W* c8 h! O- ~5 P2 f
. Z+ w$ R7 _9 \/ J1 O
要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:
+ k6 ?, C+ x' m& o
6 F1 [/ O6 {& P3 R, r步骤1:获取SSL证书
  h& X/ l2 Z% ?' _3 \6 `. t/ W
0 i# k, b/ Q5 H1 }+ u( Y获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。
7 C$ e# y( c( y. B, b8 H# e8 y( O  O* M/ h3 M
步骤2:修改Nginx配置文件
' q/ C- T) `8 Q& F' f
5 X6 e9 z4 Q1 {1 C/ f! l/ N8 N$ U; H5 I打开Nginx的配置文件,将http部分的内容更改为如下内容:# y2 ~2 D  V. Z$ X( e& V7 {

& a6 {3 s5 X1 D3 E6 N' f```nginx
* a2 b" X, S- x% ~4 sserver {
' T( A) I7 d, W( L: u+ V$ u& R    listen 80;+ I( f3 U( K' A- b/ r3 z9 e
    server_name your-domain.com;
, m9 p2 L9 K6 j    return 301 https://$server_name$request_uri;
# e& C7 J- y1 C( g& E7 R5 C}! M1 D7 t0 ?2 t

, v. \4 q; c* x6 ^8 f: O) sserver {9 i3 }7 q& s0 t- J# m3 C1 z
    listen 443 ssl;
/ v( D1 D+ ~4 A9 g    server_name your-domain.com;: @5 z$ P  L$ A+ a# R5 p* S8 _" ^

4 R) C0 S6 T3 |$ f# z3 e! ?    ssl_certificate /path/to/ssl.crt;
2 Q5 s  g; g+ x, U    ssl_certificate_key /path/to/ssl.key;
) A3 ~; F7 _+ `- D/ l- _$ ^3 j
# x: S- p9 i& p# c    location / {
/ B8 X1 k) K) f' ?% i( q- t9 D        proxy_set_header X-Real-IP $remote_addr;
# P4 e1 }- M# i" H        proxy_set_header Host $http_host;
% v3 N; ~' t8 z" ]8 J; D        proxy_pass http://127.0.0.1:2368;
9 D7 n3 [& p; o. Q    }
5 ]' d4 o* d1 q" V}6 n" ~  m5 Q4 @8 c
```
5 X6 `# v) N- b) c这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。/ P2 i- S( y2 m4 H' K; k9 w
4 A9 x) U# y" N) V1 \
接下来,我们配置HTTPS服务器。4 D& b* y" d% r6 ?

* K6 |' n+ n" M+ Y首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。
# K% n( U3 @2 k+ r; w4 \8 t4 i/ s
然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。/ c4 }* ~* ]) O
" Z0 q: D) |- Z) y
最后,用location指令将所有请求转发到Ghost的本地端口。" ]# H+ c" V# z
. T1 P( Z& K9 H
步骤3:重启Nginx服务器
! v2 [/ c- }, r/ N8 w# n
! s3 ^5 X0 j: N; y. k使用以下命令在服务器上重启Nginx:: A" ?! c- q% M2 N/ f' m& D, {* S
/ E6 }, ]3 K6 J2 x7 M& @$ N& t! N
```bash
* B+ O/ |+ @0 d) L& d  I/ Lsudo service nginx restart
9 ~. ?) B8 }' D3 T```
$ H+ i! l5 P5 W: b0 ^1 G6 ^5 C
/ c$ @- ?" x8 A- x1 c0 n1 U$ l- e步骤4:测试
4 K% q" ^3 G, x4 C( W# b6 M0 X9 r# s+ Y+ I! l6 m( }
现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。! Y/ F- D" O8 ?& m

6 e+ q1 o; D7 [这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

317

主题

480

回帖

3057

积分

管理员

积分
3057
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?2 s) K4 E) I9 B/ I! T

" r3 I# C9 V' w在Windows下启动、重新启动和停止Nginx,可以执行以下操作:; P' t' W9 v  l% {
! t: K% I1 ]- J7 Q
启动:
. V9 d: n0 H3 p
7 ~+ c6 {" _6 ^- U1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`
- |/ B# K& S5 A# Y2. 输入命令`start nginx`4 c4 }0 i' _3 T% R' z
# v" R6 J- `, c& L# f
重新启动:
  j* V5 ~+ [: p) T" @
, X8 l" j9 l/ c1 a1. 同样进入Nginx安装目录2 J% c$ Z' P4 g: z0 J
2. 输入命令`nginx -s reload`
1 k5 }; f$ L" F; f
2 o- L4 ]. ?) Y! S) ~& I' T& Q+ ^) L停止:
* p7 i' a4 T8 U5 Z$ C
. L) x# a7 l& n# B, N1. 同样进入Nginx安装目录+ C- G7 E3 T! c* j4 c; N
2. 输入命令`nginx -s stop`
9 h9 D4 P" a1 Z. L! h. r" w, X1 _* g3 p) L; _) A  T# l
需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。
+ W' R3 z0 l) z5 n8 s6 G7 u6 a# S8 }. G9 q' w- a
总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-5-17 06:13 , Processed in 0.076600 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表