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

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

[复制链接]

315

主题

479

回帖

3001

积分

管理员

积分
3001
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:
( b# w1 Q" ?4 c! i2 w5 N3 M- B/ t/ Z! _* T4 t/ ~* r
步骤1:安装Node.js
0 P( i5 _+ M6 q) `9 P
# V% w6 F- r5 r* Y在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。
7 G' S  y3 g2 m( j7 H. x# C
& l- W" y& e- l8 U0 L5 g+ @: c步骤2:安装Ghost. V( C* v! f' K' @5 y# S0 Z
" v" o( D! |$ H, l" ?5 U3 l
在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。/ p- h4 J6 l4 @! H, ?* e- A$ [9 l
# z$ f+ S- O, f( s
步骤3:配置NGINX1 e9 l2 ^% @' n8 e

* M$ F! H8 @5 `9 B安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:
" K# s% B2 p+ a, F/ ~6 y2 d0 p# @, s* O0 _$ w/ I8 |( i; j+ g
```nginx( b2 Z: k. ~/ W. Z
server {& P% j: i* J, d" J9 `- o
    listen 80;
* a' }. h; t& w    server_name your-domain.com;
! z- p' g2 h, Y  K: k* ]
8 S6 e6 U, o! T- C/ ]$ `    location / {* H0 ?! c8 h2 L& X" m- p
        proxy_set_header X-Real-IP $remote_addr;
( C' o$ Q) n, Y5 ?% W' Z' v        proxy_set_header Host $http_host;- |1 G4 W/ x$ ~
        proxy_pass http://127.0.0.1:2368;
3 G7 m! {0 u" q: Q- Y    }, w' q' m9 n7 P2 O- X, x
}3 X' K8 l2 g" |0 O
```
( |" l# b7 o! C. a9 j
. [* `+ u* D7 h+ L; x将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。' f" Y- J7 V: U: c7 d2 g

4 O2 f* d" [& B7 z# i步骤4:启动Ghost
& e  a" x% m  Y  p- l3 {0 n- e6 r, v) @8 K2 @) M# G" l, v
在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。
. q9 \2 e# H) [. m; z- u3 H# J# c# b3 H! g! R
默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。
! {  k: J, ^7 c  X/ ~+ n# G+ E! ~2 m8 N. q
这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

315

主题

479

回帖

3001

积分

管理员

积分
3001
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?
8 r' ?/ z  j& a
- s' g) v8 K5 k! N/ g  A/ ^在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。
5 `0 m1 U; Q$ ?' r  Y
' E' w7 B6 l' H1 Q) x6 B- x( M在步骤3中,我们通过添加以下内容来指定Ghost的位置:  p) }9 d: k7 I. X7 u. y& u

2 P# g. @7 E! Q0 F```nginx
& L5 L) S8 }$ ?" a# Y; plocation / {
5 Q1 g5 t$ j8 k' i9 N    proxy_set_header X-Real-IP $remote_addr;2 O2 f6 {1 [+ Q: {- Z/ g: R
    proxy_set_header Host $http_host;
5 A6 e. {! z, c    proxy_pass http://127.0.0.1:2368;
! l/ Z) X. `6 u7 Y+ w* `* |2 s}
- U; A0 K& v! X2 {# r* s9 n```) l% T& h. R% g, F4 z* p

9 w* z% m& \! U4 u: ?在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。1 Y, ^; R. G9 ]& t$ i# \3 N

9 l7 h( m& |- D( Z* }5 g* e5 e4 y( k如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。
1 H+ E& C. i5 T) R+ y! R: |* y; r7 C: h
总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

315

主题

479

回帖

3001

积分

管理员

积分
3001
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?; _# q3 Y4 k% V! x& v& d3 ?

. X; Z8 i7 N+ k要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:
) H5 D8 F$ L7 K) @. z! ]2 k. N: S/ p( q9 J0 P
步骤1:获取SSL证书, R( d" |2 ~7 y5 J

' X' ~; v+ u2 V0 @获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。
( v% Y0 U9 X- Y  d  D8 t5 a( I2 A
步骤2:修改Nginx配置文件4 G, g; ]9 T) b3 ^+ g

: P7 O: k0 Z' r# N* m- u打开Nginx的配置文件,将http部分的内容更改为如下内容:8 C6 W" ]+ Z$ g& o/ {8 v5 x

0 Z3 V# ~; b& e0 @0 Q```nginx* _# Q+ h0 X/ J& c9 r; A4 t1 r
server {, I/ h4 @% b, N+ o  V; A, n. C" b. T
    listen 80;
) w) K1 |0 x  `; C    server_name your-domain.com;2 N! p. H5 b# w3 I
    return 301 https://$server_name$request_uri;
$ a% A- Z9 M+ e% Y) g. r4 V) H}
1 }; c' _2 ~5 _# Q! ^$ _' h' f$ F% E
9 |& d/ p6 [; e  xserver {
% q+ C- d+ ~2 X' Z- i) s- a    listen 443 ssl;
( T2 F- r- V; @/ M5 G3 l; X    server_name your-domain.com;
3 |; G5 P& M, I- d# N6 Y7 l+ p4 P' a" d) x) k0 o
    ssl_certificate /path/to/ssl.crt;
8 }% h2 M9 V" p5 |; n; {. F5 J    ssl_certificate_key /path/to/ssl.key;( d- r# K( n: y# s- q+ c8 J+ n

, e/ Z* ~3 p1 ]8 c7 R; l    location / {
2 P5 _) |7 [9 s: f0 [        proxy_set_header X-Real-IP $remote_addr;  V9 a. T0 Y& q: I+ s1 L7 g, C' d
        proxy_set_header Host $http_host;, p. J4 \, q; ?, q
        proxy_pass http://127.0.0.1:2368;
6 w' D) f) i3 L- F" T+ D! \    }8 h$ X/ E# T' b" C
}
: f/ z( p! a4 r: A+ C```: f+ F" B2 U- q9 F9 w& R
这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。
" P* l9 [% |  R& Z5 d' p4 J  g; s
5 |$ r5 h: L: m; ^接下来,我们配置HTTPS服务器。5 Y% F$ H' ?9 L

- A; R4 x4 W( x1 u3 V) T0 B" @首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。
9 `* C# U3 W- B  \( d
& i: |+ ~" c: W* H然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。
; ?$ A+ d) P" V0 N: j, @& L  Q. j! {  Y
最后,用location指令将所有请求转发到Ghost的本地端口。+ B. d/ S7 n7 z7 j4 f2 B

2 d9 `) T* x" v7 ]2 X1 S步骤3:重启Nginx服务器: u+ g. A/ ?8 s
) _  U4 @5 ]4 v$ d1 v% B$ d% _+ D1 m4 ]
使用以下命令在服务器上重启Nginx:+ q+ j/ O3 k% R+ y9 r

* g% _" l# }) D% k8 Q```bash% P5 }5 v7 z. X  Z
sudo service nginx restart, H) F) D1 O) [+ Q: j0 Q( q8 p8 s
```
& Q4 x; t0 O0 H0 d7 d0 {( h8 r0 Y  O/ ?3 U5 B
步骤4:测试
. G5 @# ~" l! p' z3 m" G5 L+ w8 w4 z* T% F3 r1 A
现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。2 T/ P/ N+ z. m, H% x" J
, ^% p+ O% _2 y5 B$ }$ d
这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

315

主题

479

回帖

3001

积分

管理员

积分
3001
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?
& H0 ]5 _0 U" Z0 e2 s& ?5 E& ]! j7 ?2 p5 ^- f0 c+ q) L
在Windows下启动、重新启动和停止Nginx,可以执行以下操作:6 ]) ~( Q4 J' k" X/ ~+ h
. I( E( `2 _8 A$ J0 i; U0 V
启动:
$ e: v4 Z; V6 n9 Z* e2 J5 u8 J2 `2 ~, C& n; n( d4 `; \2 B
1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`4 b5 p1 U4 W5 a  r) @$ }
2. 输入命令`start nginx`7 ~  Y+ h  \% \' \

$ k/ P3 A+ P9 F重新启动:
/ D5 T' O1 z, e: f4 E- W  v, q- h+ K% r4 ~6 K9 }7 Z
1. 同样进入Nginx安装目录& _/ j! z5 C& m1 R, j
2. 输入命令`nginx -s reload`( G  h, E7 P7 H! R( L
6 P8 U2 P9 H' x) d* c
停止:, y6 d  N* {# V8 j5 S3 H
2 |' R" i5 x5 r+ C# _
1. 同样进入Nginx安装目录
# n8 k0 t4 k6 @; p3 F2. 输入命令`nginx -s stop`8 N, V6 g. A8 v& u' ~4 E

) ~1 q; F5 C4 V: }& E" L; ?" n: |: b/ u需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。
: `9 F9 y% X9 ~& d* b, T9 I
- `6 u& Z: A" V9 Q总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 12:40 , Processed in 0.077571 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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