70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
|
---
|
|||
|
date: "2016-12-21T15:00:00-02:00"
|
|||
|
slug: "windows-service"
|
|||
|
sidebar_position: 50
|
|||
|
aliases:
|
|||
|
- /zh-cn/windows-service
|
|||
|
---
|
|||
|
|
|||
|
# 注册为 Windows 服务
|
|||
|
|
|||
|
## 准备工作
|
|||
|
|
|||
|
在 C:\gitea\custom\conf\app.ini 中进行了以下更改:
|
|||
|
|
|||
|
```ini title="app.ini"
|
|||
|
RUN_USER = COMPUTERNAME$
|
|||
|
```
|
|||
|
|
|||
|
将 Gitea 设置为以本地系统用户运行。
|
|||
|
|
|||
|
COMPUTERNAME 是从命令行中运行 `echo %COMPUTERNAME%` 后得到的响应。如果响应是 `USER-PC`,那么 `RUN_USER = USER-PC$`。
|
|||
|
|
|||
|
### 使用绝对路径
|
|||
|
|
|||
|
如果您使用 SQLite3,请将 `PATH` 更改为包含完整路径:
|
|||
|
|
|||
|
```ini title="app.ini"
|
|||
|
[database]
|
|||
|
PATH = c:/gitea/data/gitea.db
|
|||
|
```
|
|||
|
|
|||
|
## 注册为 Windows 服务
|
|||
|
|
|||
|
要注册为 Windows 服务,首先以 Administrator 身份运行 `cmd`,然后执行以下命令:
|
|||
|
|
|||
|
```
|
|||
|
sc.exe create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""
|
|||
|
```
|
|||
|
|
|||
|
别忘了将 `C:\gitea` 替换成你的 Gitea 安装目录。
|
|||
|
|
|||
|
之后在控制面板打开 "Windows Services",搜索 "gitea",右键选择 "Run"。在浏览器打开 `http://localhost:3000` 就可以访问了。(如果你修改了端口,请访问对应的端口,3000 是默认端口)。
|
|||
|
|
|||
|
### 服务启动类型
|
|||
|
|
|||
|
据观察,在启动期间加载的系统上,Gitea 服务可能无法启动,并在 Windows 事件日志中记录超时。
|
|||
|
在这种情况下,将启动类型更改为`Automatic-Delayed`。这可以在服务创建期间完成,或者通过运行配置命令来完成。
|
|||
|
|
|||
|
```
|
|||
|
sc.exe config gitea start= delayed-auto
|
|||
|
```
|
|||
|
|
|||
|
### 添加启动依赖项
|
|||
|
|
|||
|
要将启动依赖项添加到 Gitea Windows 服务(例如 Mysql、Mariadb),作为管理员,然后运行以下命令:
|
|||
|
|
|||
|
```
|
|||
|
sc.exe config gitea depend= mariadb
|
|||
|
```
|
|||
|
|
|||
|
这将确保在 Windows 计算机重新启动时,将延迟自动启动 Gitea,直到数据库准备就绪,从而减少启动失败的情况。
|
|||
|
|
|||
|
## 从 Windows 服务中删除
|
|||
|
|
|||
|
以 Administrator 身份运行 `cmd`,然后执行以下命令:
|
|||
|
|
|||
|
```
|
|||
|
sc.exe delete gitea
|
|||
|
```
|