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

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

[复制链接]

338

主题

521

回帖

3480

积分

管理员

积分
3480
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:% d* l0 t  k6 q* d* a7 m

. c# n9 e: v" [) J2 q! q步骤1:安装Node.js
, @# I4 }1 y2 q) s; A* f0 J- b! F% y& H3 A
在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。
3 H9 |% p; O( {+ f1 t% \. n
5 J" J. o' B2 I) x/ o$ V2 P  f步骤2:安装Ghost
' P  Y6 c5 Z) _' Q5 T- w3 o2 F
8 Y, _! Z7 W& |" \4 w在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。
" I1 u; `2 L; J+ I$ n
1 G- I  T7 @# H步骤3:配置NGINX/ X! Y! N" y9 {3 D/ F* p
. {% r0 @8 `% Z6 {% K& M/ Q7 Z
安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:$ |4 @; X. C( {! G* O2 ]
% q6 a6 Y) d* s! A! X# d! S
```nginx8 p/ @; r, V. ^
server {$ @' L7 f4 U/ q
    listen 80;0 \: H5 X  R+ j) [& f  I; W
    server_name your-domain.com;
" P" J+ e- Y+ p% b7 l1 [6 _2 e, Q! a1 S2 n% @/ Z- l
    location / {
& g5 F, V3 P' U! Q        proxy_set_header X-Real-IP $remote_addr;! z" J) Q3 A, v4 O; r
        proxy_set_header Host $http_host;
/ [% B, {! L0 Q. L        proxy_pass http://127.0.0.1:2368;. M4 L. e% s/ ^* _8 I: N
    }, Q0 E! A% H3 G" {) l
}
. R( \& V! _) z$ P2 f```" M9 @' T/ U# w0 O2 P$ E' w
& ]$ Y0 U( b# T! Q
将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。
1 T% ~1 z2 e; x" w
* B4 l1 a. C  o: S# C1 \步骤4:启动Ghost
5 ]9 e$ ^+ K! ]' D7 t  U/ P- r! c6 P( H) _8 Y% E4 e( J+ @% c
在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。( Y7 u1 S  N5 \3 N  m( A; W- _

, M4 ?8 G  \8 X2 ^  y默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。7 x4 c8 ], ]' R- e5 R! ?4 a
, y6 K0 Q. p7 |) f% M' i* L
这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

338

主题

521

回帖

3480

积分

管理员

积分
3480
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?
# r- a, d5 z( s6 U7 B+ E
7 }7 x5 y5 S/ L在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。
- \& f- a7 j. c5 v7 m7 K$ B5 |2 Z2 H- A0 \9 s+ r
在步骤3中,我们通过添加以下内容来指定Ghost的位置:
& J) g5 P/ b; K: d8 c& L
0 L$ Y" U- ~* p5 g```nginx
0 b& r% ?  [* tlocation / {, K6 M4 m$ I" A* j) ]; v/ M2 M6 _7 Z
    proxy_set_header X-Real-IP $remote_addr;& w# d1 o! u$ i0 [7 i1 j6 k
    proxy_set_header Host $http_host;' d% \7 h$ u5 [. s3 `
    proxy_pass http://127.0.0.1:2368;. i$ F/ E1 p9 h2 D  `8 E7 ^
}0 I9 T  U1 A. x/ T
```& d; F5 q- o% V: t; @; g
4 s. q( s: l/ g% w. G+ U
在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。2 T  F- `: ~2 h2 y( J5 x7 m
9 A$ ^' H6 `: m: @% q6 U% p
如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。4 r3 g: X9 e( l& S

8 P" |$ S3 {* A$ a总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

338

主题

521

回帖

3480

积分

管理员

积分
3480
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?# O0 F' Z8 [/ l" y
8 Y: n, K6 U: B% X
要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:
5 I' D) D, S4 W, _" K" K8 ]. X5 C$ E2 n7 \* c
步骤1:获取SSL证书' ^4 P* p# q7 O, Q

/ k; Q) \' L& E6 z5 w获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。% x  x. W/ D4 D
2 ~( @# l4 n. O5 h
步骤2:修改Nginx配置文件8 c- O* N# d+ ]' _3 M: g3 {0 z1 a# f
( {, H6 |+ b" ^1 l$ p% ]/ H4 J/ Q+ j
打开Nginx的配置文件,将http部分的内容更改为如下内容:7 t7 [+ ^: S) ~# ~, \
+ X0 }; G* N  v9 q# D1 H
```nginx" e$ ~2 x! d! D" Q" n8 c
server {3 b  l  `' }8 ~6 x
    listen 80;! K; q3 v) L! m& x
    server_name your-domain.com;
' z- n) j% v( g3 g. w' v    return 301 https://$server_name$request_uri;
+ m$ z& k3 r, T  J9 W' f4 W6 o}7 \. Y4 n( D# Z$ p4 z
# s8 m; \! k/ @+ ?
server {% @/ M5 j2 e, ?$ T& B; Y
    listen 443 ssl;
. g, O9 g6 \5 i+ q  p: k0 X    server_name your-domain.com;
" h' P* ~- ]2 C
. l# L# D" h5 L' \    ssl_certificate /path/to/ssl.crt;( b* R, l, y) G# L2 L& D
    ssl_certificate_key /path/to/ssl.key;
+ j- c2 i5 i3 o6 t3 |2 L$ j
9 X" r( _9 `$ s3 e0 Y( B6 Q( i    location / {2 A4 f% `( ~  Y( K8 q) C
        proxy_set_header X-Real-IP $remote_addr;
3 G9 z9 R' j4 ?; o        proxy_set_header Host $http_host;4 }& t. ^, A# I6 u+ x/ t
        proxy_pass http://127.0.0.1:2368;
  u" K) U" R* p    }
3 h; G$ [1 z& A) T}
' i% H; M! N1 R1 Z3 T```
! ^: f1 `! Z+ i5 U2 e这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。# i+ R; S$ [) R# U; C" o1 z0 i) S

8 L" h3 [0 c! @4 i6 k* C) ^' y接下来,我们配置HTTPS服务器。& m" x% }& X$ N' \
0 Z3 E6 p* X2 Y* z+ B) K+ B" T
首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。$ G+ S7 N; H  q, ~: B  z( k

1 D+ I" T2 @/ e1 ?! e5 _! ^然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。3 f7 ~; j, Z3 h0 q: w0 I
7 G! d  S2 B- O: c/ E$ f: l! p) `% @
最后,用location指令将所有请求转发到Ghost的本地端口。- {# I5 K( V6 u1 E1 k, ]) s

" Z) `# n3 f4 C1 ?步骤3:重启Nginx服务器, u0 h3 o6 Y5 h" ~, D9 T
) S- b; s7 S; {& v$ F8 i
使用以下命令在服务器上重启Nginx:1 e, k' o6 b. N. h# ^. g
) A# E: E1 [9 m& ~) n! {$ S4 _
```bash# u8 a9 m4 X: i. C
sudo service nginx restart
: {0 A; B4 q5 ~7 Q) u' P```
" V0 V' g' r2 b; C2 {$ o( Z  w7 Q- E3 P- H2 Q' w
步骤4:测试
5 _4 L! E& k# N- s' f: e; c6 l% u( q& H  ]
现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。
4 |2 g7 |# v: z: E/ v  c2 d4 T3 B& z- g/ \' G9 u& L/ C' k( J- \
这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

338

主题

521

回帖

3480

积分

管理员

积分
3480
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?
0 P" z+ W; z) ^3 O9 ]$ X9 J# M1 k* C7 h  |  E/ U
在Windows下启动、重新启动和停止Nginx,可以执行以下操作:6 y9 g4 B5 ]$ F1 X

3 d9 q: s& X+ a6 U4 c: ~启动:
! P1 O# d9 K) i/ e, E6 h
) S9 u' t& [/ G& z; a; P7 v1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`
0 s5 R7 q. S6 a0 u2. 输入命令`start nginx`
& z/ R7 F, m- [
& m! p$ z; i) o/ J' K( Q- d重新启动:3 J) f! R8 C4 W" h) o

- @& ^. N; [, m* `4 S# z' P1. 同样进入Nginx安装目录
1 u9 `8 q( v2 _* x0 j3 g. I  E* B. o4 S2. 输入命令`nginx -s reload`/ \. m+ P" S( `0 q& C9 u* T- E
" Z2 K- A  P% Q' D7 t. `
停止:
; |; }" I+ H1 m' k4 x9 T0 C7 d% o$ J4 H  F" ]8 z4 i
1. 同样进入Nginx安装目录
% n# a/ R& E( `2. 输入命令`nginx -s stop`
( s' S, a+ u/ q2 H& p" K5 T- D% c) L* }& U! S  }$ [% @# _8 Z" ?
需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。+ V- F! [9 j9 Z, f2 m# r3 k6 ^

. F, D$ ]& ~* ^5 G3 i3 o+ C! {7 o总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达创业无忧 ( 粤ICP备2023021749号|粤公网安备 44030402006137号 )

GMT+8, 2026-1-10 18:28 , Processed in 0.015764 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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