mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 07:57:21 +08:00
refactor: 重命名openresty为nginx
This commit is contained in:
@@ -7,7 +7,7 @@ import (
|
||||
_ "github.com/TheTNB/panel/internal/apps/frp"
|
||||
_ "github.com/TheTNB/panel/internal/apps/gitea"
|
||||
_ "github.com/TheTNB/panel/internal/apps/mysql"
|
||||
_ "github.com/TheTNB/panel/internal/apps/openresty"
|
||||
_ "github.com/TheTNB/panel/internal/apps/nginx"
|
||||
_ "github.com/TheTNB/panel/internal/apps/php"
|
||||
_ "github.com/TheTNB/panel/internal/apps/phpmyadmin"
|
||||
_ "github.com/TheTNB/panel/internal/apps/podman"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package openresty
|
||||
package nginx
|
||||
|
||||
import (
|
||||
"github.com/go-chi/chi/v5"
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
func init() {
|
||||
apploader.Register(&types.App{
|
||||
Slug: "openresty",
|
||||
Slug: "nginx",
|
||||
Route: func(r chi.Router) {
|
||||
service := NewService()
|
||||
r.Get("/load", service.Load)
|
||||
@@ -1,4 +1,4 @@
|
||||
package openresty
|
||||
package nginx
|
||||
|
||||
type UpdateConfig struct {
|
||||
Config string `form:"config" json:"config"`
|
||||
@@ -1,4 +1,4 @@
|
||||
package openresty
|
||||
package nginx
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@@ -27,7 +27,7 @@ func NewService() *Service {
|
||||
}
|
||||
|
||||
func (s *Service) GetConfig(w http.ResponseWriter, r *http.Request) {
|
||||
config, err := io.Read(fmt.Sprintf("%s/server/openresty/conf/nginx.conf", app.Root))
|
||||
config, err := io.Read(fmt.Sprintf("%s/server/nginx/conf/nginx.conf", app.Root))
|
||||
if err != nil {
|
||||
service.Error(w, http.StatusInternalServerError, "获取配置失败")
|
||||
return
|
||||
@@ -43,13 +43,13 @@ func (s *Service) SaveConfig(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = io.Write(fmt.Sprintf("%s/server/openresty/conf/nginx.conf", app.Root), req.Config, 0644); err != nil {
|
||||
if err = io.Write(fmt.Sprintf("%s/server/nginx/conf/nginx.conf", app.Root), req.Config, 0644); err != nil {
|
||||
service.Error(w, http.StatusInternalServerError, "保存配置失败")
|
||||
return
|
||||
}
|
||||
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
service.Error(w, http.StatusInternalServerError, "重载服务失败:%v", err)
|
||||
return
|
||||
}
|
||||
@@ -86,8 +86,8 @@ func (s *Service) UpdatePort(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
service.Error(w, http.StatusInternalServerError, "重载OpenResty失败:%v", err)
|
||||
return
|
||||
}
|
||||
@@ -117,8 +117,8 @@ func (s *Service) UpdateConfig(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
service.Error(w, http.StatusInternalServerError, "重载OpenResty失败:%v", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -242,8 +242,8 @@ func (r *certRepo) Deploy(ID, WebsiteID uint) error {
|
||||
if err = io.Write(fmt.Sprintf("%s/server/vhost/ssl/%s.key", app.Root, website.Name), cert.Key, 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -35,14 +35,14 @@ func NewWebsiteRepo() biz.WebsiteRepo {
|
||||
}
|
||||
|
||||
func (r *websiteRepo) UpdateDefaultConfig(req *request.WebsiteDefaultConfig) error {
|
||||
if err := io.Write(filepath.Join(app.Root, "server/openresty/html/index.html"), req.Index, 0644); err != nil {
|
||||
if err := io.Write(filepath.Join(app.Root, "server/nginx/html/index.html"), req.Index, 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := io.Write(filepath.Join(app.Root, "server/openresty/html/stop.html"), req.Stop, 0644); err != nil {
|
||||
if err := io.Write(filepath.Join(app.Root, "server/nginx/html/stop.html"), req.Stop, 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return systemctl.Reload("openresty")
|
||||
return systemctl.Reload("nginx")
|
||||
}
|
||||
|
||||
func (r *websiteRepo) Count() (int64, error) {
|
||||
@@ -304,8 +304,8 @@ server
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -357,8 +357,8 @@ func (r *websiteRepo) Update(req *request.WebsiteUpdate) error {
|
||||
if err = io.Write(filepath.Join(app.Root, "server/vhost", website.Name+".conf"), req.Raw, 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -537,9 +537,9 @@ func (r *websiteRepo) Update(req *request.WebsiteUpdate) error {
|
||||
return err
|
||||
}
|
||||
|
||||
err = systemctl.Reload("openresty")
|
||||
err = systemctl.Reload("nginx")
|
||||
if err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
_, err = shell.Execf("nginx -t")
|
||||
}
|
||||
|
||||
return err
|
||||
@@ -583,9 +583,9 @@ func (r *websiteRepo) Delete(req *request.WebsiteDelete) error {
|
||||
_, _ = shell.Execf(`echo "DROP USER IF EXISTS '%s';" | su - postgres -c "psql"`, website.Name)
|
||||
}
|
||||
|
||||
err := systemctl.Reload("openresty")
|
||||
err := systemctl.Reload("nginx")
|
||||
if err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
_, err = shell.Execf("nginx -t")
|
||||
}
|
||||
|
||||
return err
|
||||
@@ -685,8 +685,8 @@ server
|
||||
if err := io.Write(filepath.Join(app.Root, "server/vhost/acme", website.Name+".conf"), "", 0644); err != nil {
|
||||
return nil
|
||||
}
|
||||
if err := systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err := systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -717,7 +717,7 @@ func (r *websiteRepo) UpdateStatus(id uint, status bool) error {
|
||||
root := regexp.MustCompile(`# root\s+(.+);`).FindStringSubmatch(rootConfig)
|
||||
raw = strings.ReplaceAll(raw, rootConfig, fmt.Sprintf(" root %s;\n ", root[1]))
|
||||
} else {
|
||||
raw = strings.ReplaceAll(raw, rootConfig, fmt.Sprintf(" root %s/server/openresty/html;\n # root %s;\n ", app.Root, match[1]))
|
||||
raw = strings.ReplaceAll(raw, rootConfig, fmt.Sprintf(" root %s/server/nginx/html;\n # root %s;\n ", app.Root, match[1]))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -736,8 +736,8 @@ func (r *websiteRepo) UpdateStatus(id uint, status bool) error {
|
||||
if err = io.Write(filepath.Join(app.Root, "server/vhost", website.Name+".conf"), raw, 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ func MustInstall(next http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
var slugs []string
|
||||
if strings.HasPrefix(r.URL.Path, "/api/website") {
|
||||
slugs = append(slugs, "openresty")
|
||||
slugs = append(slugs, "nginx")
|
||||
} else if strings.HasPrefix(r.URL.Path, "/api/container") {
|
||||
slugs = append(slugs, "podman", "docker")
|
||||
} else if strings.HasPrefix(r.URL.Path, "/api/apps/") {
|
||||
|
||||
@@ -26,12 +26,12 @@ func NewWebsiteService() *WebsiteService {
|
||||
}
|
||||
|
||||
func (s *WebsiteService) GetDefaultConfig(w http.ResponseWriter, r *http.Request) {
|
||||
index, err := io.Read(filepath.Join(app.Root, "server/openresty/html/index.html"))
|
||||
index, err := io.Read(filepath.Join(app.Root, "server/nginx/html/index.html"))
|
||||
if err != nil {
|
||||
Error(w, http.StatusInternalServerError, "%v", err)
|
||||
return
|
||||
}
|
||||
stop, err := io.Read(filepath.Join(app.Root, "server/openresty/html/stop.html"))
|
||||
stop, err := io.Read(filepath.Join(app.Root, "server/nginx/html/stop.html"))
|
||||
if err != nil {
|
||||
Error(w, http.StatusInternalServerError, "%v", err)
|
||||
return
|
||||
|
||||
@@ -49,7 +49,7 @@ func (c *Client) UseManualDns(total int, check ...bool) {
|
||||
}
|
||||
|
||||
// UseHTTP 使用 HTTP 验证
|
||||
// conf openresty 配置文件路径
|
||||
// conf nginx 配置文件路径
|
||||
// path 验证文件存放路径
|
||||
func (c *Client) UseHTTP(conf, path string) {
|
||||
c.zClient.ChallengeSolvers = map[string]acmez.Solver{
|
||||
|
||||
@@ -47,8 +47,8 @@ func (s httpSolver) Present(_ context.Context, challenge acme.Challenge) error {
|
||||
if err = os.WriteFile(s.conf, []byte(conf), 0644); err != nil {
|
||||
return fmt.Errorf("无法写入OpenResty配置文件: %w", err)
|
||||
}
|
||||
if err = systemctl.Reload("openresty"); err != nil {
|
||||
_, err = shell.Execf("openresty -t")
|
||||
if err = systemctl.Reload("nginx"); err != nil {
|
||||
_, err = shell.Execf("nginx -t")
|
||||
return fmt.Errorf("无法重载OpenResty: %w", err)
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ func (s httpSolver) CleanUp(_ context.Context, challenge acme.Challenge) error {
|
||||
|
||||
_ = os.Remove(filepath.Join(s.path, challenge.HTTP01ResourcePath()))
|
||||
_ = os.WriteFile(s.conf, []byte{}, 0644)
|
||||
_ = systemctl.Reload("openresty")
|
||||
_ = systemctl.Reload("nginx")
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ func (s *APITestSuite) TestGetApps() {
|
||||
}
|
||||
|
||||
func (s *APITestSuite) TestGetAppBySlug() {
|
||||
_, err := s.api.AppBySlug("openresty")
|
||||
_, err := s.api.AppBySlug("nginx")
|
||||
s.NoError(err)
|
||||
}
|
||||
|
||||
|
||||
2
web/.gitignore
vendored
2
web/.gitignore
vendored
@@ -26,7 +26,5 @@ coverage
|
||||
|
||||
.env
|
||||
|
||||
stats.html
|
||||
|
||||
types/components.d.ts
|
||||
types/auto-imports.d.ts
|
||||
|
||||
@@ -4,14 +4,14 @@ import { request } from '@/utils'
|
||||
|
||||
export default {
|
||||
// 负载状态
|
||||
load: (): Promise<AxiosResponse<any>> => request.get('/apps/openresty/load'),
|
||||
load: (): Promise<AxiosResponse<any>> => request.get('/apps/nginx/load'),
|
||||
// 获取配置
|
||||
config: (): Promise<AxiosResponse<any>> => request.get('/apps/openresty/config'),
|
||||
config: (): Promise<AxiosResponse<any>> => request.get('/apps/nginx/config'),
|
||||
// 保存配置
|
||||
saveConfig: (config: string): Promise<AxiosResponse<any>> =>
|
||||
request.post('/apps/openresty/config', { config }),
|
||||
request.post('/apps/nginx/config', { config }),
|
||||
// 获取错误日志
|
||||
errorLog: (): Promise<AxiosResponse<any>> => request.get('/apps/openresty/errorLog'),
|
||||
errorLog: (): Promise<AxiosResponse<any>> => request.get('/apps/nginx/errorLog'),
|
||||
// 清空错误日志
|
||||
clearErrorLog: (): Promise<AxiosResponse<any>> => request.post('/apps/openresty/clearErrorLog')
|
||||
clearErrorLog: (): Promise<AxiosResponse<any>> => request.post('/apps/nginx/clearErrorLog')
|
||||
}
|
||||
@@ -15,7 +15,7 @@ export function createAppInstallGuard(router: Router) {
|
||||
|
||||
// 网站
|
||||
if (to.path.startsWith('/website')) {
|
||||
await app.isInstalled('openresty').then((res) => {
|
||||
await app.isInstalled('nginx').then((res) => {
|
||||
if (!res.data.installed) {
|
||||
window.$message.error(`Web 服务器 ${res.data.name} 未安装`)
|
||||
return router.push({ name: 'app-index' })
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import Editor from '@guolao/vue-monaco-editor'
|
||||
import { NButton, NDataTable, NPopconfirm } from 'naive-ui'
|
||||
|
||||
import openresty from '@/api/apps/openresty'
|
||||
import nginx from '@/api/apps/nginx'
|
||||
import systemctl from '@/api/panel/systemctl'
|
||||
|
||||
const currentTab = ref('status')
|
||||
@@ -27,39 +27,39 @@ const columns: any = [
|
||||
const load = ref<any[]>([])
|
||||
|
||||
const getLoad = async () => {
|
||||
const { data } = await openresty.load()
|
||||
const { data } = await nginx.load()
|
||||
return data
|
||||
}
|
||||
|
||||
const getStatus = async () => {
|
||||
await systemctl.status('openresty').then((res: any) => {
|
||||
await systemctl.status('nginx').then((res: any) => {
|
||||
status.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
const getIsEnabled = async () => {
|
||||
await systemctl.isEnabled('openresty').then((res: any) => {
|
||||
await systemctl.isEnabled('nginx').then((res: any) => {
|
||||
isEnabled.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
const getErrorLog = async () => {
|
||||
const { data } = await openresty.errorLog()
|
||||
const { data } = await nginx.errorLog()
|
||||
return data
|
||||
}
|
||||
|
||||
const getConfig = async () => {
|
||||
const { data } = await openresty.config()
|
||||
const { data } = await nginx.config()
|
||||
return data
|
||||
}
|
||||
|
||||
const handleSaveConfig = async () => {
|
||||
await openresty.saveConfig(config.value)
|
||||
await nginx.saveConfig(config.value)
|
||||
window.$message.success('保存成功')
|
||||
}
|
||||
|
||||
const handleClearErrorLog = async () => {
|
||||
await openresty.clearErrorLog()
|
||||
await nginx.clearErrorLog()
|
||||
getErrorLog().then((res) => {
|
||||
errorLog.value = res
|
||||
})
|
||||
@@ -68,35 +68,35 @@ const handleClearErrorLog = async () => {
|
||||
|
||||
const handleIsEnabled = async () => {
|
||||
if (isEnabled.value) {
|
||||
await systemctl.enable('openresty')
|
||||
await systemctl.enable('nginx')
|
||||
window.$message.success('开启自启动成功')
|
||||
} else {
|
||||
await systemctl.disable('openresty')
|
||||
await systemctl.disable('nginx')
|
||||
window.$message.success('禁用自启动成功')
|
||||
}
|
||||
await getIsEnabled()
|
||||
}
|
||||
|
||||
const handleStart = async () => {
|
||||
await systemctl.start('openresty')
|
||||
await systemctl.start('nginx')
|
||||
window.$message.success('启动成功')
|
||||
await getStatus()
|
||||
}
|
||||
|
||||
const handleStop = async () => {
|
||||
await systemctl.stop('openresty')
|
||||
await systemctl.stop('nginx')
|
||||
window.$message.success('停止成功')
|
||||
await getStatus()
|
||||
}
|
||||
|
||||
const handleRestart = async () => {
|
||||
await systemctl.restart('openresty')
|
||||
await systemctl.restart('nginx')
|
||||
window.$message.success('重启成功')
|
||||
await getStatus()
|
||||
}
|
||||
|
||||
const handleReload = async () => {
|
||||
await systemctl.reload('openresty')
|
||||
await systemctl.reload('nginx')
|
||||
window.$message.success('重载成功')
|
||||
await getStatus()
|
||||
}
|
||||
@@ -3,17 +3,17 @@ import type { RouteType } from '~/types/router'
|
||||
const Layout = () => import('@/layout/IndexView.vue')
|
||||
|
||||
export default {
|
||||
name: 'openresty',
|
||||
path: '/apps/openresty',
|
||||
name: 'nginx',
|
||||
path: '/apps/nginx',
|
||||
component: Layout,
|
||||
isHidden: true,
|
||||
children: [
|
||||
{
|
||||
name: 'apps-openresty-index',
|
||||
name: 'apps-nginx-index',
|
||||
path: '',
|
||||
component: () => import('./IndexView.vue'),
|
||||
meta: {
|
||||
title: 'OpenResty',
|
||||
title: 'OpenResty(Nginx)',
|
||||
icon: 'mdi:server-network',
|
||||
role: ['admin'],
|
||||
requireAuth: true
|
||||
@@ -4,17 +4,7 @@ import { defineConfig, presetAttributify, presetUno } from 'unocss'
|
||||
const config: UserConfig = {
|
||||
content: {
|
||||
pipeline: {
|
||||
exclude: [
|
||||
'node_modules',
|
||||
'.git',
|
||||
'.github',
|
||||
'.vscode',
|
||||
'build',
|
||||
'dist',
|
||||
'public',
|
||||
'types',
|
||||
'./stats.html'
|
||||
]
|
||||
exclude: ['node_modules', '.git', '.github', '.vscode', 'build', 'dist', 'public', 'types']
|
||||
}
|
||||
},
|
||||
presets: [presetUno({ dark: 'class' }), presetAttributify()],
|
||||
|
||||
Reference in New Issue
Block a user