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

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

[复制链接]

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:2 D" O+ g3 @  U) p9 y) G
4 Z" V/ a* t( |" S0 o2 P. N" s
步骤1:安装Node.js, h! l& F& }: J  G6 h

- ]( N  ?( B; r7 k5 {! O4 U: l6 L在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。1 J7 [7 j# n; l, n# E4 C4 ]% a3 a4 b

( q% K$ P! X8 q步骤2:安装Ghost- d* b2 C6 p( P' ]) B' f

1 j6 H5 e9 h" l7 g) R0 F- B3 @在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。
0 Y5 z- O+ g. G0 j% e( m
# O6 K1 c; T; z6 M步骤3:配置NGINX. Y9 j, e! W% G* b$ Z

5 j/ Z. U7 I; N4 r  E安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:
5 x9 ]) k# O( }0 i6 c8 b. v
! A! \4 o0 k  \```nginx
: `! _# K, X) ~2 a2 Zserver {& w) n' G6 l. T# r7 e
    listen 80;
0 q9 g  U6 ]0 p- J3 j4 @# Z0 T    server_name your-domain.com;! x9 l! l+ o$ g
2 j6 C9 E7 y- L. i  [
    location / {
' ]9 g8 Z" c- i- g        proxy_set_header X-Real-IP $remote_addr;& y7 U; I& Z8 J
        proxy_set_header Host $http_host;
3 H0 }; B7 Z3 i: R3 C        proxy_pass http://127.0.0.1:2368;
: @/ `8 X0 P) M& w' V$ F    }5 P; Y& S/ ~! s& e% l2 v* U# L
}, {1 j7 e) Y1 z
```
# T1 S+ @! t% D; L) ~7 }, C) F7 B3 N$ \, v& {5 `5 H9 A  f
将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。
9 m) L9 d' A. {( Z" e4 ]) t( R9 \* B, I/ }1 E7 \
步骤4:启动Ghost
) w, {8 R# C" J9 I$ g
+ E* U5 G% I1 r* J在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。" x% [1 \/ E5 Y, w

* A, k, E& |$ r0 J默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。
) q' M; N/ `' c: i, C" z+ K( V
# g! m& P5 n$ ^" g, G这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?
, [5 A( ]4 K4 R
' [' T$ J1 o# G1 P% q在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。
% g+ Q5 l" N9 X" c( x+ V4 Q1 ?) ?6 W
在步骤3中,我们通过添加以下内容来指定Ghost的位置:- Q: N9 ]) V/ d# T# e6 X+ l  i3 z- v

" z" B. s1 @9 `/ }+ o```nginx" I3 D/ g. s' O  X# ]* a" |6 ?9 K: x
location / {
1 g7 W; `+ D) ?: F' B    proxy_set_header X-Real-IP $remote_addr;
; n- j# ]9 T- g  Z1 g0 U6 D    proxy_set_header Host $http_host;+ T: \4 j9 n7 p" Y/ ~3 a
    proxy_pass http://127.0.0.1:2368;
) Q6 d. ~$ p/ L}
7 L5 F7 A) N; U9 D```
4 D% B7 b7 t& p  |6 A  W
! b( O2 f8 |- o5 ~& p5 f7 Y4 G在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。+ [0 D- n7 p2 j  ?( Q
1 l5 Q, t+ x6 b4 S" T' z0 D6 e% g
如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。7 m4 o% h0 k. f0 m6 z
% ^2 R- T8 _5 Q1 {. I2 \
总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?6 l- n$ O" n( u6 c
# ^$ T+ E1 ^" n  ?- K
要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:* F. w9 M2 B2 [) x, @& ?0 `& H, s
( l' s" D  W4 b8 S6 U3 y
步骤1:获取SSL证书
- M7 t0 D9 O& A/ v6 }2 l- f4 J
* ]" y: K; g  C& _# c: M获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。
* p/ ~6 N& U7 o8 h$ L3 H# W% t- t8 I! R$ _
步骤2:修改Nginx配置文件
7 _( B* x% W. p! F
0 b- m/ W5 H7 Z2 \9 _% B& ]% q7 o5 Y0 |打开Nginx的配置文件,将http部分的内容更改为如下内容:
1 w2 p5 A9 q( V2 q* l- S. I
: s2 s6 |3 K4 w```nginx
8 G, n8 x7 ~, [+ tserver {
4 A' p1 W# K" e4 M. q7 P( s" b    listen 80;- j! q- e( u) l1 M- f1 P
    server_name your-domain.com;$ D! G( G- D% W2 V+ M# C
    return 301 https://$server_name$request_uri;
, M6 U2 c6 x/ R) P0 P5 ]! U}
. p. o* D4 Y: _0 f+ p
# p  a3 W1 B7 Wserver {  W- L, G, A, _$ Q/ g
    listen 443 ssl;/ @8 u) k4 W3 a: k# k
    server_name your-domain.com;1 r* u' z3 _' z) z! ^- a9 o) o

1 W2 `4 t1 F9 j2 M" H    ssl_certificate /path/to/ssl.crt;) Q: F# s  A: V, f" @0 X* t
    ssl_certificate_key /path/to/ssl.key;7 h2 U5 c% i) q7 ^" Z
3 S8 u: ^+ l2 w: x
    location / {+ q( k0 W, r, _
        proxy_set_header X-Real-IP $remote_addr;
7 A( f' [( X) L+ x8 ^        proxy_set_header Host $http_host;
% L# v$ U0 }- |5 \/ y        proxy_pass http://127.0.0.1:2368;
& n3 E0 L, P' r1 f    }0 L8 a' t6 w6 z0 z+ Y, l
}' G; H6 ?  D' M5 R- C
```
9 `7 ]' l4 b. E3 B: m( U) G这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。2 G4 t4 L, E! s2 R

0 W  e7 N# [# M4 t  S接下来,我们配置HTTPS服务器。
! U& i; A% r, x2 d& M8 B; J. V0 u( g7 D: i
首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。
  }  h2 n# w. H/ L1 h6 N2 ~0 W4 S  ?- y! z- C
然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。# j5 ?3 d7 M/ S$ R: Y( [9 \

  K! N+ `- ^. |$ ^2 C# {最后,用location指令将所有请求转发到Ghost的本地端口。
9 }" L- D  I0 `3 f8 T* A8 ?; U3 G& g1 Z1 V; o* M
步骤3:重启Nginx服务器
/ X! B. Q+ S+ a- F
' Q/ o6 t6 b4 {# f3 }; k0 h9 c2 t; q使用以下命令在服务器上重启Nginx:& r! |; X0 {/ R4 F# u! L

3 N3 D$ B3 h$ p, \3 i```bash
, g: ~: ~# T8 C# M; S/ c3 P+ [sudo service nginx restart
, |& u) Z$ G. v2 l5 q, V```7 B  s  O$ e3 x8 U% F1 ^

8 t0 h& h# c; r& ], A步骤4:测试
, |( J/ |, w) p" T& Z- ?% y5 q% y1 P+ y) |2 n$ X7 w& n
现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。
: n0 F# \$ }2 o0 `" F6 {! U; K
* @9 _7 t0 y" K这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?) _( `+ ~. u2 ?3 U# D' I# Q' F. G
( |1 U8 h+ r+ `
在Windows下启动、重新启动和停止Nginx,可以执行以下操作:3 j: k$ V4 Z& ^/ `$ l
  n9 ]( U; U: `* {! L& J  ]
启动:" s7 l8 P& F  O( S* V
( y2 z' s: u# V) a$ L" p& f
1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`# o( G( X8 s# U  L; K4 P8 s+ S, L
2. 输入命令`start nginx`
+ M7 J" o5 b! j- f/ m! v% @; `7 X/ S# O8 N. h+ a
重新启动:
) c/ Y+ T4 ^- D* N1 t  Y1 D1 [- H0 n$ e3 z- X( t$ k" z( Z
1. 同样进入Nginx安装目录1 l+ [) W' w) x  ^+ Y2 V2 w) O6 |4 E. L- W
2. 输入命令`nginx -s reload`+ q1 o8 J8 X5 ^6 K9 c

6 Z- @5 ?. z& H' `# S5 x# l' s; o停止:
$ @. v6 _1 D. q& W! u& @: C9 i
" o( T2 C, o4 i5 T6 d+ B1. 同样进入Nginx安装目录
9 o% M$ ?% B  c9 _2. 输入命令`nginx -s stop`
! M! {/ E! v( N7 `3 C
$ y9 z4 V" ~% r% e# i( y4 C) i需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。
5 k" I- r" u$ ^8 q* G) L3 C+ v- ?* I, U% ~1 \" ?6 R
总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-11 02:31 , Processed in 0.090178 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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