首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NGINX上设置子域有问题

在NGINX上设置子域有问题
EN

Server Fault用户
提问于 2019-05-02 21:23:32
回答 2查看 1K关注 0票数 -1

我目前正在我的Rock64单板PC上设置Rock64,这是基于Debian的,是通过运行在80端口上的NGINX的web配置的。

我目前正在尝试使用NGINX、MariaDB/MySQL和PHPMyAdmin安装Nextcloud,最初我希望使用Docker来安装和管理它们。不幸的是,我只是遇到了一些问题,所以我重新开始从Linux存储库安装软件。

我已经成功地设置了一个MySQL服务器,用户和数据库已经为Nextcloud做好了准备,并设法使PHPMyAdmin在另一个端口8080上工作。

我不想使用端口,而是想使用子域,但我似乎无法让它们工作。到目前为止,我已经将根目录设置为:-

代码语言:javascript
复制
/var/www/openmediavault
/var/www/phpmyadmin
/var/www/nextcloud

我想要以下的子域:- N.B,我将在稍后的日期设置SSL,一旦我通过广域网获得这一点。

  • http://rock64.lan (默认OpenMediaVault web )
  • http://phpmyadmin.rock64.lan (PHPMyAdmin GUI for MySQL)
  • http://nextcloud.rock64.lan (Nextcloud )

我的NGINX配置为使用/etc/nginx/sites-available/etc/nginx/sites-enabled

下列符号链接将与各自的名称一起使用:

代码语言:javascript
复制
ln -s /etc/nginx/sites-available/openmediavault-webgui /etc/nginx/sites-enabled/openmediavault-webgui
ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/phpmyadmin
ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud

这是openmediavault-webgui文件的内容。

代码语言:javascript
复制
server {
    server_name openmediavault-webgui;
    root /var/www/openmediavault;
    index index.php;
    autoindex off;
    server_tokens off;
    sendfile on;
    large_client_header_buffers 4 32k;
    client_max_body_size 25M;
    error_log /var/log/nginx/openmediavault-webgui_error.log error;
    access_log /var/log/nginx/openmediavault-webgui_access.log combined;
    error_page 404 = /404.php;
    location /404.html {
        internal;
    }
    location /extjs6/ {
        alias /usr/share/javascript/extjs6/;
        expires 2d;
        }
    location ~ ^/(css|fonts|js|images)/ {
        expires 2d;
    }
    location /favicon {
        expires 14d;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm-openmediavault-webgui.sock;
        fastcgi_index index.php;
        fastcgi_read_timeout 60s;
        include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    listen 80 default_server;
    include /etc/nginx/openmediavault-webgui.d/*.conf;
}

我还有一个从PHPMyAdmin的位置到www目录的符号链接

ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

非常感谢

将要

UPDATE 10:18 03/06/2019这里是/etc/nginx/sites启用/phpmyadmin server { listen 80; root /var/www/phpmyadmin; index index.php; server_name phpmyadmin.rock64.lan; location / { try_files $uri $uri/ =404; } location ~ \.php { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7-0.fpm.sock; fastcgi_index index.php; } }的服务器块

UPDATE 11:25 03/06/2019配置OpenWrt路由器后,我可以进行DNS查找,http://phpmyadmin.rock64.lan指向正确的IP地址。然而,我得到502坏网关。我遇到的一个论坛提到了设置所有权和权限。我和他们玩过,但没有改变。

在/etc/php/7.0/fpm/info.gov.hk.d/i项下:

代码语言:javascript
复制
[openmediavault-webgui]
user = openmediavault-webgui
group = openmediavault-webgui

listen = /var/run/php-fpm-openmediavault-webgui.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0600

pm = ondemand
pm.max_children = 25
pm.process_idle_timeout = 10s

chdir = /

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; openmediavault php.ini settings ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Paths and Directories
php_value[include_path] = ".:/usr/share/php:/var/www/openmediavault"

; Pam Authentication Support (see /etc/pam.d)
php_value[pam.servicename] = "openmediavault-webgui";

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
php_value[upload_max_filesize] = 25M

; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
php_value[post_max_size] = 25M

; Do not expose to the world that PHP is installed on the server.
; http://php.net/expose-php
php_value[expose_php] = Off

; Name of the session (used as cookie name).
; http://php.net/session.name
php_value[session.name] = X-OPENMEDIAVAULT-SESSIONID

; Default timeout for socket based streams (seconds)
; http://php.net/default-socket-timeout
php_value[default_socket_timeout] = 90

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
php_value[max_execution_time] = 90

UPDATE 09/05/2019我现在已将FQDN注册为phpmyadmin.roc64。测试以消除任何冲突,这是在我的OpenWrt路由器的DNS中注册的。我可以点击域名,并从静态分配的IP地址(192.168.1.123)获得回复,我已经链接到LAN主机名。为了其他测试目的,我已经分配了端口8080,但是FQDN或通过http://192.168.1.123:8080进行访问都不起作用,仍然会导致网关502出现问题。

代码语言:javascript
复制
server {
    listen 8080;
    root /var/www/phpmyadmin;
    index index.php index.html index.htm;
    server_name phpmyadmin.rock64.test;
    server_tokens off;
    location ~ \.php$ {
        try_files $uri +404;
#       include snippets/fastcgi-php.conf;
        include /etc/nginx/fastcgi.conf;
        include /etc/nginx/fastcgi_params;
#       fastcgi_pass unix:/var/run/php/php7-0.fpm.sock;
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
    }
    location ~ /\. {
        access_log off;
        log_not_found off;
        deny all;

    }
}
EN

回答 2

Server Fault用户

发布于 2019-05-02 21:38:44

server_name应该包含完全限定的域名,例如server_name xyz.example.com

细节是在nginx文档中

票数 1
EN

Server Fault用户

发布于 2019-05-02 22:39:50

您需要为每个域创建一个server块,并在server_name指令中列出域名。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/965648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档