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

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

[复制链接]

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:
4 T- U& B. k5 ?) Z3 }" {# d4 \# b5 ~/ W, K
步骤1:安装Node.js
7 [/ v# p- a5 s0 D& q' P6 C7 [) {8 v* r
在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。  B# h) v+ A$ l1 t$ {. a! l
+ j& x; C' E9 x- e
步骤2:安装Ghost
5 G/ E5 k2 o6 F/ |3 x% [" W, u6 h$ C6 h, s
在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。
. p/ ~1 l4 M4 k0 U/ Q+ R4 N" J0 I9 P; M  G* I% m& y
步骤3:配置NGINX
% w2 E% t" G) X; d8 n$ d2 P" R
6 K8 N3 B* u0 [0 S' R安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:. M% E0 r. h0 X) I
$ ^! l$ T& _& z+ G" f  n2 t  H, h
```nginx5 O5 C% b: N* F$ N" p" y
server {
$ n6 R! W8 H' B; _7 x+ ]    listen 80;8 Q/ J- l8 X( N6 ~. a
    server_name your-domain.com;6 m) _  G; n! O2 j
& Q0 }0 J) Y# |: T7 M* o
    location / {7 w2 E* u! s0 `6 d/ L2 `9 g$ g
        proxy_set_header X-Real-IP $remote_addr;
; q6 `- ]$ F1 B9 p( w; B* j4 d! ~% b        proxy_set_header Host $http_host;* ?& K8 Q7 d/ ]& H: E4 h5 A7 E
        proxy_pass http://127.0.0.1:2368;
8 o! z- S) [, u5 |% D$ M2 A9 ]: m* p    }
/ }) n, E( l) Z/ x# h2 ^8 B}  C* C8 {+ ]$ s% V
```4 v( k' n% Z3 q- w& b: S. ~

) I/ m0 q6 _" s3 v2 d将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。/ v  H0 F% w5 o6 L; M5 C' K

2 u' l3 m* Y. z* v$ b# a/ t- [步骤4:启动Ghost( }4 \3 X; \9 h7 ^

/ y( b" c. C$ C$ M' p在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。
$ v# J! [; C9 @) @" Y7 @( P
$ v& T! ^! H, j5 _9 i- I1 I默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。
7 ^/ F4 p* n" G0 D5 s: t0 E0 J' r: z! J
这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?/ G. y0 M* a$ O, f& G+ T) N4 T
! T& \# y" O1 l( _6 j
在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。$ S8 b# g6 m, U7 A, v% q

2 g9 V6 r2 _3 s/ \在步骤3中,我们通过添加以下内容来指定Ghost的位置:" m  b$ C5 B. X% _+ L- M# ]) I, z
$ Y, G0 L4 P6 ?8 T
```nginx
0 p+ `# L1 H& R1 o; g" J4 ]location / {
4 t8 b$ @. M! ]- o  @3 C    proxy_set_header X-Real-IP $remote_addr;4 y, R4 a' g. p, V, j
    proxy_set_header Host $http_host;
) Q+ _9 k: `* u1 ~3 R3 l4 J7 O* O/ q    proxy_pass http://127.0.0.1:2368;" x  a7 l2 ^$ j: T0 w
}  w# w' e; B: e  b* U2 I8 U. U
```
# s1 _9 g  i- Z- l9 r/ B! J1 m' y
在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。5 h8 [6 M8 G% v- p* x

: ^' b+ V" x0 \如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。- {6 V4 \# B$ S) Y+ _: h% n6 u6 x

8 i  o' V* f# O0 W: r! D总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?* a4 r% R0 C% |' P$ a0 z

' ^. ^; j3 C  A. m9 j+ X要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:5 k( t% j0 H! H
% N# @, Q/ j0 }6 ^2 B; H2 |
步骤1:获取SSL证书  `8 P) ^9 y2 R6 ?% \! e. h

3 o; c% ?3 b$ ?- S! A6 Z9 ?2 D获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。
( v9 N, w3 b; s  p6 \( q6 S3 Z6 h% J+ F1 A9 ~3 r
步骤2:修改Nginx配置文件; P+ ~; p( }0 [1 x
8 y. p6 Q% P5 a) N
打开Nginx的配置文件,将http部分的内容更改为如下内容:
1 ]$ s; v( C) H+ z0 v  W
' a' b5 Y7 m9 g# d( O4 }```nginx. h( _* N) }8 @# t8 S2 P) H$ ~
server {
- ~; S/ _" g" g! z    listen 80;
& Q( m3 t: L0 P    server_name your-domain.com;
3 R7 C; n2 o" ]& ^1 ^# D    return 301 https://$server_name$request_uri;
2 M' L$ z+ u- Q; G# O6 G}5 \+ _4 g9 t1 D. |

, J6 I% F9 c' s4 _% X. {% i4 Tserver {' e- |; n5 D0 M9 `8 U% [
    listen 443 ssl;
1 y2 J7 Z) j2 m) D  s    server_name your-domain.com;' m7 ~/ r3 n  B

# m; v+ J1 X" c. Z( D: o    ssl_certificate /path/to/ssl.crt;
9 G1 k* x% Y2 o: z: p( q! V2 z, d    ssl_certificate_key /path/to/ssl.key;8 s, ], L5 B4 @

- @! H8 ]! v( i. ?# k, I/ y6 M# l    location / {' T/ K$ C. l- m3 I4 m. O
        proxy_set_header X-Real-IP $remote_addr;
  z8 m7 a; v& x/ A- K* C& r( m        proxy_set_header Host $http_host;
; C: @8 n1 P1 `  T% v) X! \2 l+ c        proxy_pass http://127.0.0.1:2368;/ {2 T% ~0 s4 U: d2 l* L; X
    }
2 h1 D' S0 h$ t- E  H}1 K+ b! B+ C, I) t
```
# h3 N' X7 A  J/ l& Q这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。: @4 w4 k# b+ F' O

2 a9 b3 L- M9 v& X- O9 M接下来,我们配置HTTPS服务器。
7 K1 ]: `: }3 T/ y- l2 r) ^  y& K
首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。4 P2 j; o+ `+ R- F  m2 L& \4 w, P

; ~0 Q( _; g7 L9 `/ Z然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。' H; I3 A( @2 g

7 U# V' ~( q6 b! p' @, V& P: z最后,用location指令将所有请求转发到Ghost的本地端口。7 Z! ]5 H1 L: i
6 u* a, n7 ~8 c
步骤3:重启Nginx服务器
( F* B, u* ]# L: T+ L  P& a- h; X" v3 u: B8 }! |. @2 f& M
使用以下命令在服务器上重启Nginx:, q1 z0 ~. E, \7 j1 j

* D8 Y) w9 h2 f```bash
! t, I+ J" v  D' P2 y9 ^! y1 f# `sudo service nginx restart
) o$ V3 O: u, U- t```
+ ?# `6 ^$ Q+ G$ e6 ^. t, R& f: R. f. E2 Z; c* o% c
步骤4:测试( A4 D# Z$ J- h: Z$ `

/ K7 P- D2 A9 {7 `+ G5 b现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。
9 u- c3 ~0 v, E. K  s% O' y3 z0 h& s& v8 N+ n
这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?. N  _3 N) h7 ]

" s& R" \4 A# x' g8 J3 x1 f在Windows下启动、重新启动和停止Nginx,可以执行以下操作:
  H" o' o0 H) [  d/ e* B/ \1 x9 U* {+ d; E1 x. D. p
启动:
+ N) e* |8 P2 y( [* _: j2 |4 \# D- g
1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`  T6 I: X: A! L( {/ }
2. 输入命令`start nginx`
$ p5 p$ K: N- x& m" [3 ?* G% h) W* D% D6 n7 B6 K
重新启动:
6 a6 U, p0 e, [! ]  E" ]! t$ c0 K2 x' s; S5 k
1. 同样进入Nginx安装目录# f+ Q5 F" ?. t* [: {8 s# Y7 }" x
2. 输入命令`nginx -s reload`  b( }4 C' F1 W2 y0 M' ~1 K. A' M

% \2 l  [! Y7 v; `: \停止:
( \6 T- @- |! R1 T. {% B$ v. {( n) o' X" Q6 u9 J
1. 同样进入Nginx安装目录
  u* J' o3 w9 X3 j5 w: u* n2. 输入命令`nginx -s stop`
6 \( X$ y. c7 ^8 t
2 V( d( p! k3 u0 W需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。
3 c' v& {1 U5 n; v
: Z+ Y0 ]. [% Y  O总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-7 17:50 , Processed in 0.071674 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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