gitea

Development moved to Codeberg

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
---
date: "2017-07-21T12:00:00+02:00"
title: "在 Linux 中以服務執行"
slug: "linux-service"
weight: 10
toc: false
draft: false
menu:
  sidebar:
    parent: "installation"
    name: "Linux 服務"
    weight: 20
    identifier: "linux-service"
---

### 以 Linux 服務執行 Gitea

您可使用 systemd 或 supervisor 以服務的方式執行 Gitea。下列步驟已在 Ubuntu 16.04 中測試,但它們應該適用於所有的 Linux 發行版(只需要一些小小的調整)。

#### 使用 systemd

複製範例 [gitea.service](https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service) 到 `/etc/systemd/system/gitea.service` 後用您喜愛的文字編輯器開啟檔案。

取消註解任何需要在此系統上啟動的服務像是 MySQL。

修改 user, home directory 和其它必要的啟動參數。若預設埠已被占用請修改埠號或移除「-p」旗標。

在系統啟動時啟用並執行 Gitea:

```
sudo systemctl enable gitea
sudo systemctl start gitea
```

若您使用 systemd 220 或更新版本,您能以一行指令啟動並立即執行 Gitea:

```
sudo systemctl enable gitea --now
```

#### 使用 supervisor

在終端機使用下列指令安裝 supervisor:

```
sudo apt install supervisor
```

為 supervisor 建立 log 資料夾:

```
# assuming Gitea is installed in /home/git/gitea/
mkdir /home/git/gitea/log/supervisor
```

附加範例 [supervisord config](https://github.com/go-gitea/gitea/blob/master/contrib/supervisor/gitea) 的設定值到 `/etc/supervisor/supervisord.conf`
用您喜愛的文字編輯器修改使用者(git)和家目錄(/home/git)設定以符合部署環境。若預設埠已被占用請修改埠號或移除「-p」旗標。

最後設定在系統啟動時啟用並執行 supervisor:

```
sudo systemctl enable supervisor
sudo systemctl start supervisor
```

若您使用 systemd 220 或更新版本,您能以一行指令啟動並立即執行 supervisor:

```
sudo systemctl enable supervisor --now
```