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

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

[复制链接]

331

主题

511

回帖

3343

积分

管理员

积分
3343
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:
0 w; n+ P( e% N; S' y% S6 n6 N* u6 b/ S4 X  |/ d
步骤1:安装Node.js
, {$ t5 G: r, t, f5 n5 g, n8 K, @+ r- V( Q$ O8 V5 d
在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。
7 S/ C5 D3 j9 U+ g# E" n7 u, L( B% q
步骤2:安装Ghost# i  p; q4 o- j" {( l

5 |' ?# b. [! e5 Y; E4 [8 C在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。
  z: x( T) p/ ~( w
. O6 J" h1 r  c- v. l# r步骤3:配置NGINX
7 [5 S$ C  Z- m2 e( P4 t3 C  B7 P3 u7 r" F( R4 N; A3 m" q3 I: B
安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:+ I6 W9 N+ l$ M# m; @- x8 H
; M! o& i8 ]2 w9 `: l( ]
```nginx
6 o+ i, p1 l' y/ k3 Q) {  y) Hserver {9 C$ Q. l9 ]: Q
    listen 80;
3 H9 r0 g! Y( I    server_name your-domain.com;4 L% _6 k* y5 J  t* O- O' Q
( Z3 g2 t: h$ K
    location / {
8 h8 P9 c+ S1 k/ l. T9 d. J        proxy_set_header X-Real-IP $remote_addr;
% s( Q' V* k; e3 P" z7 X        proxy_set_header Host $http_host;
# A. d" g: ]8 w; I# L' b9 k        proxy_pass http://127.0.0.1:2368;, h: d  b: W) x8 n' {
    }
" ~: A; L1 X9 i) l' b0 v! h$ t1 e4 d}; i: N8 Q! x$ t3 y* P+ k7 c' x
```
% J2 y. Y* l5 @0 W( X
% i2 t. C* `' J( s1 V8 S4 w9 s9 h将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。0 K1 L9 Z. n4 t4 L
4 A3 `  p- a9 a
步骤4:启动Ghost& E5 g- q* x9 }+ Q5 n
0 G) [3 j1 P/ j% k$ _+ z
在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。, W5 m, F7 t% ?: [) j4 }) n
3 d7 [  U. D5 G* K4 X0 j
默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。, k+ z9 T7 r& e9 l5 l4 }
, W" v% E0 a& j  N8 A/ O
这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

331

主题

511

回帖

3343

积分

管理员

积分
3343
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?
7 I% f8 D& Y- ]$ g" D* `6 X3 A& U( {' d; S0 x  I2 {
在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。: e5 X8 j  X+ g2 E; v& R" R
. G6 B- f3 P9 B: ]8 K5 ~- U
在步骤3中,我们通过添加以下内容来指定Ghost的位置:# K9 }5 R3 H1 ~
7 C! B' F) Q* v0 ~! m! q
```nginx) ]3 J5 m, c4 m5 g
location / {0 D9 [$ m0 X) V, w2 S% ?* r
    proxy_set_header X-Real-IP $remote_addr;
1 o. j% B1 f9 ~' ~    proxy_set_header Host $http_host;) ^' ~5 [. ?/ H3 c
    proxy_pass http://127.0.0.1:2368;# A3 x+ y; P6 e( g# f$ n" s: t
}, y: j6 I/ w' r9 }' ?2 p7 e6 j* j1 q
```
& m; v& {; q% m, H9 C+ O/ c0 u  Z: W1 u/ ^4 C
在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。* ?+ M, h0 w: }2 B1 O5 C

# ^4 D5 \$ [. r2 T如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。& @. d5 l6 k* x+ N6 P; e

, C5 D. I9 w( g5 ^总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

331

主题

511

回帖

3343

积分

管理员

积分
3343
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?
0 I9 ^2 n: t. C4 V. U- c& @: |5 C: V4 z) F* M; g
要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:
% S7 ~+ v& J: v% d8 W3 V7 @9 e" w  {* g
步骤1:获取SSL证书
4 l7 V2 Y# i( V2 n' L6 z. j1 E+ J  {" m9 }
获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。  v3 O, w! v2 Q) p+ @5 S' n

% }  G! i2 b' ?  F步骤2:修改Nginx配置文件
3 [! b  g4 m9 ~) m* X  h" m3 N/ {9 l2 |  [0 d$ e
打开Nginx的配置文件,将http部分的内容更改为如下内容:" V' g* p* U3 `- b/ O
% R$ r# o+ G& k. l/ t, R6 W. p' O
```nginx4 c  Z1 m. r% T0 F' z5 `
server {
! O8 Z8 h4 U& O0 O, S* u    listen 80;. R# @0 z& w( }/ [& _$ ?
    server_name your-domain.com;4 R* i4 _! ~5 {9 V; H: ~
    return 301 https://$server_name$request_uri;) N1 {, }8 w; J6 ^' E& x
}. f4 ~. @" s2 t* q: U+ ]6 \

( {! G2 e4 s4 u/ ^4 u5 oserver {, w* e7 d5 Z' ~
    listen 443 ssl;+ Z  r+ w3 V; {) X! _& K
    server_name your-domain.com;
3 d4 s! k  @" p9 T7 K- L
- z0 B1 a& A9 K4 \2 K    ssl_certificate /path/to/ssl.crt;
! m0 a+ i2 d( ?& C, z: \    ssl_certificate_key /path/to/ssl.key;- ^5 U8 X" z# r

5 X  N! v; N3 b    location / {
0 R7 t* V$ D5 i. G* @& F        proxy_set_header X-Real-IP $remote_addr;
9 ]' N* ?' h4 u/ y/ E. A2 n0 S        proxy_set_header Host $http_host;
  V: ?. s( H1 W* Y" ~& m& @        proxy_pass http://127.0.0.1:2368;- u5 ?) z% |& `, O  b% I5 Q7 Y
    }- @. J+ w( Q4 `
}# \5 W' R8 Q% m9 o9 [- C0 f
```& D* W; l- ?3 P* H0 W0 f
这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。% Q+ y/ R. B( v3 y+ L; k' N

2 t, ?) E% b1 r  D' h接下来,我们配置HTTPS服务器。! G) }" F! H% y  R6 D7 O

* E4 B# Y8 }7 }4 V( N  b+ L$ P- L首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。& Y) a* ?8 C3 O( R/ F8 i

. E/ ]" j2 ^) v* L( |然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。1 r, q3 J: H% M8 g( e( [% M2 V  K

9 `" w* E- j' X最后,用location指令将所有请求转发到Ghost的本地端口。- \9 p6 i' y+ @5 |, G
6 Z( l1 x7 K# K$ A/ F. l- v
步骤3:重启Nginx服务器/ h  i9 |" z- c, x7 Y; h( g
7 J1 m6 ]0 \7 ]1 V% i4 m
使用以下命令在服务器上重启Nginx:1 A2 Z6 B) W$ V9 T" j* e" l3 M; A
, t3 a/ q, v# _0 n; j
```bash
9 j. J& J- F2 G' P- Z5 _0 k2 _sudo service nginx restart
7 S  `0 F6 ?4 c' x  D# s, d, O, N```! s8 b- T/ W2 ~1 `
$ n8 U9 D& A) _7 {1 K# Z2 ~4 S
步骤4:测试
& T9 l" _, @* a+ _" F
2 G) k- C  ]7 |! t, n8 w; M) a现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。
, ^, O0 t5 Y& J2 m% }6 v1 j# f
7 X4 m% u; k: ~9 ]这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

331

主题

511

回帖

3343

积分

管理员

积分
3343
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?
* A% V! w+ G# s. }( V
- H) o5 }" h4 z1 _/ D- w' e在Windows下启动、重新启动和停止Nginx,可以执行以下操作:9 O3 b2 i2 h" H; }- s% R
' s3 z& f) E7 z* b7 a+ G9 w
启动:2 H# d( Y3 X. N( P; G" [3 c' z
1 ?* Y% g: C* ?
1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`
5 A. U  R( w5 {& E2. 输入命令`start nginx`
2 X1 w# ]: y/ y1 S5 h$ s$ Y
' I5 e& H! v+ \" P重新启动:& r  A8 B4 Y7 P) Z+ C  u7 f& n7 m5 i
2 [0 {$ r" q$ ^/ k, a( I& y3 ^
1. 同样进入Nginx安装目录
2 }0 M! W8 k# b  ~2 W% c2. 输入命令`nginx -s reload`$ V/ k6 \* X9 w9 G3 B
1 @7 w! q. B# c
停止:
( K5 o9 u5 w0 X
; n( q2 [! |* l6 ^. U) [  b1. 同样进入Nginx安装目录5 p* ]6 Z0 Y% Z. t  z2 o  ~
2. 输入命令`nginx -s stop`
3 O' ^& r( G* g$ B9 t7 ~9 D1 W( a) L3 b
需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。
7 J6 k% Q9 ^1 O; ^4 b) X. s) `( V
2 Z9 R9 M1 q2 h+ Y5 o总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-10 00:24 , Processed in 0.072561 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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