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

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

[复制链接]

314

主题

478

回帖

2960

积分

管理员

积分
2960
QQ
发表于 2023-5-23 09:09:35 来自手机 | 显示全部楼层 |阅读模式
要在Windows的NGINX下部署Ghost博客系统,需要执行以下步骤:
( h4 a* D) b! x9 G3 ]% E( o' X. i9 v' c
步骤1:安装Node.js
7 s+ _6 _# Y5 q* Y" A% x! T/ X
; p6 y, a2 v, f. k在Windows上安装Node.js。这是一个基于JavaScript的服务器端开发环境,使Ghost能够运行。& G, X) W! {/ o+ g* p% k: h# y
8 r$ q. M# i. l  Y
步骤2:安装Ghost( }; C6 Q2 Z% a. v# g
$ [, X% f  ?2 W! f
在Ghost官方网站上下载最新版本的Ghost。解压缩下载的文件并移动到想要安装Ghost的文件夹。然后通过命令行运行`npm install --production`以安装所有必要的依赖项。
9 H1 |" ]2 R' Q2 a( n1 `
, d) p' Z) W+ r4 F* f* P步骤3:配置NGINX
6 R8 J8 z4 x. e) ^0 m2 v
( I. R; i# R2 d1 M- p" T: w安装NGINX。打开文件夹,找到“conf”目录,并编辑nginx.conf文件。在http部分的末尾添加以下内容:8 f9 n/ X' Q% j# r7 m2 P/ c

' c8 `3 |0 Z4 {8 d+ t```nginx* j5 w' K" E% S9 H7 k/ w/ M
server {
4 F# c" g3 t+ k! h2 N/ z$ ?    listen 80;& H0 T# N4 e% R! i
    server_name your-domain.com;( E4 r  k7 X% D% Q- Z
: U( l* C! T; R3 t
    location / {- k9 C0 {& |6 e/ \# G
        proxy_set_header X-Real-IP $remote_addr;
  ]3 j' A) o6 l+ B$ @- g        proxy_set_header Host $http_host;
( k: T3 |. `$ W0 Z) h        proxy_pass http://127.0.0.1:2368;
5 S$ R' w7 {. q; B& R" `    }
0 H+ e/ H* L2 n}# a$ J3 |% j+ c3 m3 N$ Y/ j1 F
```
( C5 p2 G' j: v3 T: l/ ?7 l
% R3 o3 j# y, N5 e) Y1 v将“your-domain.com”替换为你的域名。这样,所有通过http://your-domain.com的访问都将被定向到Ghost服务器的2368端口。& U: N0 m+ H/ t  w2 D

& ]% I) j  C  W) O! I3 g- e4 E$ l8 \步骤4:启动Ghost
/ b4 |% G& H; b7 {' ~* M9 E3 N6 [$ O  t# ?" s- K
在Ghost程序文件所在的文件夹中打开命令行,输入`npm start --production`以启动Ghost。现在你可以在浏览器中访问http://your-domain.com。应该可以看到Ghost的欢迎界面。
7 T7 X6 [3 G! s& p! u6 X+ W. l
; k* `. p( X! Y4 H默認情況下Ghost将運行在http://localhost:2368上,但是馬上通過Nginx反向代理縮短Ghost的網址,讓Ghost運行在http://your-domain.com上。) }; E* x- m$ [7 }. K1 v

9 r9 ~* g/ O! w7 m8 N: T这就是在Windows的NGINX下部署Ghost博客系统的简单步骤和路径。
回复

使用道具 举报

314

主题

478

回帖

2960

积分

管理员

积分
2960
QQ
 楼主| 发表于 2023-5-23 09:10:10 来自手机 | 显示全部楼层
在nginx的配置中,需要指定ghost的目录吗?或者说应该指向哪个ghost网站目录?: F: `6 M5 X% T# @* j) q) x
9 @" F9 G9 l: ?+ I- q) [
在Nginx的配置中,需要指定Ghost的目录或位置,通常需要指定Ghost的主目录。这个主目录通常是Ghost程序包的根目录,即你在步骤2中解压缩的Ghost文件。
. x8 X  e  W6 t3 c
' u8 r: U5 l2 L# S在步骤3中,我们通过添加以下内容来指定Ghost的位置:8 M% ^! A% W0 L8 q$ e

0 s0 ~8 t! h! n* G1 s; M1 n2 \```nginx
7 \8 ]5 h5 j0 S. L7 f9 qlocation / {
3 G; O/ I- J# y# f& m  C% L. j    proxy_set_header X-Real-IP $remote_addr;
, U1 h# q& V% `* x; i% n    proxy_set_header Host $http_host;. ]# w9 g5 |7 O& l
    proxy_pass http://127.0.0.1:2368;
+ n+ G" \  [' |" X! ]) F: A}" L- ?" D" B: R9 z
```
9 v6 x! a* E4 |7 X. o* ?" Y. Z
" [) U( p  [1 n在这里我们使用`proxy_pass`指令来设置Ghost的目录。这里指定的默认值是`http://127.0.0.1:2368`,对应着Ghost的默认端口,这里的意思是把所有通过Nginx访问的请求都通过该地址转发到Ghost。" a* d2 s: h4 e4 n* j9 l2 a" q/ z

+ l: q5 w; Z. q6 X3 `如果你的Ghost是安装在其他位置,请将“proxy_pass”指向你的ghost安装目录。
- ~+ I( a/ K1 c) L/ U& ]
% d& B! n" X# c7 N' t3 f  l( K总结来说,只要在Nginx的配置文件中指定了Ghost的代理位置,即可让Nginx代理Ghost的请求,并将这些请求发送到Ghost的安装目录上。
回复

使用道具 举报

314

主题

478

回帖

2960

积分

管理员

积分
2960
QQ
 楼主| 发表于 2023-5-23 09:13:15 来自手机 | 显示全部楼层
如果ghost站点需要启用https访问,安装ssl证书的话,具体如何实现,需要做哪些设置?
: e3 W( b! u& x' q, R
7 j: i! m& m* l" l要在Ghost中启用HTTPS访问,需要有SSL证书,并进行许多配置。可以按照以下步骤来安装:: @/ R/ i2 ]- `/ }2 j! a
. \! Q: W4 B1 }, P% x' u
步骤1:获取SSL证书3 G) M% ~0 H- ^* }* L! P

& C6 M( o( e5 l% K0 E- E: F* F获取你想要使用的SSL证书,通常是购买或从免费的证书机构(如Let's Encrypt)获取。将SSL证书和密钥文件上传到服务器上。; g+ J( E- D/ q/ A
3 c3 J2 Z7 K+ E) `& v8 H1 X% w. r
步骤2:修改Nginx配置文件
$ K- t! A% J3 w4 h. X% q. _( ]0 V, |0 Y
7 z$ {# I" D" r5 K打开Nginx的配置文件,将http部分的内容更改为如下内容:
1 e! ]* X' e# _2 E4 n- O( @# K: N6 L- v! s  h+ M7 \* n8 H
```nginx
8 R% t; z- I0 }& A+ Sserver {
/ X4 m& w2 Q% e! ]" F% r( H    listen 80;
( U4 t. v  M; w$ `" a    server_name your-domain.com;
1 T" t. e# @+ ^1 E    return 301 https://$server_name$request_uri;
  j7 l6 ]6 J5 R: B# {}
0 I/ P* W# z4 {6 u6 L. s8 n" |$ P; u/ e$ F. k; h$ h2 S
server {* N' f) N( w) t0 x8 m
    listen 443 ssl;
  I' O8 B7 k; `( e" N! K    server_name your-domain.com;, R) Y' T- ]- J
- z& [. h: ?, L4 U( Z; q
    ssl_certificate /path/to/ssl.crt;
6 Y" s1 j, |) c% G5 o: v& j0 v    ssl_certificate_key /path/to/ssl.key;7 y, s6 P; l# u3 J

& i4 i9 E+ X; p. U, R    location / {) B* |9 v; k$ L, b  y% N
        proxy_set_header X-Real-IP $remote_addr;6 r. Y) U0 ~0 l) {* [
        proxy_set_header Host $http_host;7 @- e1 a$ }: A* g1 U! t% m
        proxy_pass http://127.0.0.1:2368;" k) Q5 T8 \' E& G& N# h- N9 b3 p0 L
    }
, e  G8 Z( U3 h, n% h! q+ a! w}0 q9 B! l; i& M6 \3 L3 y8 b% R
```
9 O& D" \; ?5 `' O0 q这里我们在http部分新增了一个重定向。如果用户访问http协议的域名地址,就把请求重定向到https协议上的域名地址。
/ l8 G1 o  [( M8 X; n
8 x% V3 K2 Z3 y4 l0 m  U接下来,我们配置HTTPS服务器。
: o( s' n2 n2 q5 E0 g  q; m
  l1 \  q( ^7 ~首先我们配置服务器监听的端口为443,在 server_name 后面指定你的域名。
7 n7 q; B# Q9 H' @& F" e/ Z( j
7 {0 G( a3 V* x; ^- e( t* l然后设定 ssl_certificate 和 ssl_certificate_key 分别指向证书和密钥文件。这里的证书和密钥文件应该放在一个非常安全的位置。
+ a. S, N/ V" R' @7 J" W9 r7 {# x( k6 ^! m
最后,用location指令将所有请求转发到Ghost的本地端口。4 ?( H, x0 @4 \' E0 i3 T
: |" Q4 K/ ]8 {4 X- @1 c+ a
步骤3:重启Nginx服务器: }7 c) P/ V. F% q
- i" S  l& Q  x. Y, D, |
使用以下命令在服务器上重启Nginx:; k* C  z) g& ]: P( [) O

7 c( X1 @; k8 B& n1 j( w```bash, F$ h: D5 @3 X+ i: v) s' @
sudo service nginx restart
% o4 U" w2 |5 K: O```6 a% q) F* C9 H/ K9 T
, k2 E7 c( O# h8 C
步骤4:测试
5 K8 a6 P; J3 N# h' O' Z: W2 Y' D" H
现在你可以访问https://your-domain.com,此时应该可以看到浏览器地址栏中有一个锁形的图标,这表示你的站点已经成功启用SSL证书。9 }/ V# I5 C, G, P2 |
7 I2 t1 Y4 ~! Q8 g0 X
这样就完成了将Ghost网站启用HTTPS访问,这个过程可能会有一些细节问题,如果您在安装中遇到问题,可以根据错误提示进行排查。
回复

使用道具 举报

314

主题

478

回帖

2960

积分

管理员

积分
2960
QQ
 楼主| 发表于 2023-5-23 09:21:58 来自手机 | 显示全部楼层
在windows下如何启动和重新启动,或停止nginx?
" E$ |/ `  o5 ]5 }4 Z; ?' \8 p" {2 n$ L* {, R
在Windows下启动、重新启动和停止Nginx,可以执行以下操作:; N8 X& P) D8 `3 y. z9 `
0 s/ l; f# k) ~7 A) ?5 r) d* `2 [
启动:; h' R5 o& ?' m  R. m1 @! z: K

2 _3 k. L& x9 b  Q( y. s6 O8 g1. 打开命令行,进入Nginx安装目录,例如:`cd C:\nginx`) A8 s- V5 u! _
2. 输入命令`start nginx`
, S& r8 Y, B: e
1 b: M" Z7 M  h) }  L重新启动:, P& b, W- Q% S1 c+ n8 i
( L4 y9 o+ N' s3 R; l5 Q
1. 同样进入Nginx安装目录( R' ?6 q& V. c' h
2. 输入命令`nginx -s reload`
5 X& G& ~# M* x' O* L$ i
/ D; Y# U+ V; A! {& r9 m. t( r停止:
- v# h% Z3 n. O' ?$ k- _2 S( A& e& s. M3 q; J! X& r* |' K
1. 同样进入Nginx安装目录
. c# H! x; b/ r: N- a8 d9 c2. 输入命令`nginx -s stop`( u) F6 y" n1 }6 t
/ U8 r7 o. H3 Y- a; Q% ~! ]. l6 O
需要注意的是,如果你在Windows上使用了Nginx的“Windows Service”服务,那么也可以在“服务”(Service)菜单项中找到Nginx的服务,直接通过“启动”、“重新启动”、“停止”等来操作它。7 l# g% o. M- q4 F- H

9 ]: h/ k. j6 j0 M$ ]  A# y4 n总之,这些命令将启动Nginx服务器以供使用,重启或停止它。做出更改后,要确保在启动或重新加载Nginx之前测试一下配置更改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-5 01:06 , Processed in 0.078081 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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