不允许用户使用指令

时间:2019-04-12 12:01:16

标签: nginx

我正在为OsTicket配置创建虚拟主机。 在文件vim /etc/nginx/sites-available/osticket.conf中插入以下行:

user  nginx;
worker_processes 1;

events {
    worker_connections  1024;
}

http {
    include         mime.types;
    default_type    application/octet-stream;
    sendfile        on;
    charset         utf-8;
    gzip            on;
    gzip_types      text/plain application/xml text/javascript;
    gzip_min_length 1000;

    index index.php index.html index.htm;

    # Rewrite all requests from HTTP to HTTPS
    server {
        listen 80;
        server_name 192.168.0.24;
        rewrite ^ http://192.168.0.24 permanent;
    }

    server {
        listen 443;
        server_name 192.168.0.24;
        ssl on;
        ssl_certificate /etc/nginx/certs/cert.pem;
        ssl_certificate_key /etc/nginx/certs/cert.key;

        keepalive_timeout 70;

        root /var/www/osticket;

        set $path_info "";

        location ~ /include {
            deny all;
            return 403;
        }

        if ($request_uri ~ "^/api(/[^\?]+)") {
            set $path_info $1;
        }

        location ~ ^/api/(?:tickets|tasks).*$ {
            try_files $uri $uri/ /api/http.php?$query_string;
        }

        if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
            set $path_info $1;
        }

        if ($request_uri ~ "^/.*\.php(/[^\?]+)") {
            set $path_info $1;
        }

        location ~ ^/scp/ajax.php/.*$ {
            try_files $uri $uri/ /scp/ajax.php?$query_string;
        }

        location ~ ^/ajax.php/.*$ {
            try_files $uri $uri/ /ajax.php?$query_string;
        }

        location / {
            try_files $uri $uri/ index.php;
        }

        location ~ \.php$ {
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            fastcgi_param  PATH_INFO        $path_info;
            fastcgi_pass   192.168.0.24:8888;
        }
    }
}

当我做service nginx restart时,出现以下错误:

enter image description here

如果您使用命令nginx -t,则会出现以下错误:

enter image description here

在Nginx服务器日志中,出现以下错误:

  

此处不允许使用“用户”指令   /etc/nginx/sites-enabled/osticket.conf:1

如何解决nginx服务正常工作的问题。

1 个答案:

答案 0 :(得分:0)

sites-enabled文件夹中的所有配置文件默认都包含在nginx.conf配置中,该配置已经具有http块和您要设置的大多数内容。

osticket.conf文件中应该只包含服务器块。删除所有其他内容,您应该得到类似以下内容的

server {
    listen 80;
    server_name 192.168.0.24;
    rewrite ^ http://192.168.0.24 permanent;
}

server {
    listen 443;
    server_name 192.168.0.24;
    ssl on;
    ssl_certificate /etc/nginx/certs/cert.pem;
    ssl_certificate_key /etc/nginx/certs/cert.key;

    keepalive_timeout 70;

    root /var/www/osticket;

    set $path_info "";

    location ~ /include {
        deny all;
        return 403;
    }

    if ($request_uri ~ "^/api(/[^\?]+)") {
        set $path_info $1;
    }

    location ~ ^/api/(?:tickets|tasks).*$ {
        try_files $uri $uri/ /api/http.php?$query_string;
    }

    if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
        set $path_info $1;
    }

    if ($request_uri ~ "^/.*\.php(/[^\?]+)") {
        set $path_info $1;
    }

    location ~ ^/scp/ajax.php/.*$ {
        try_files $uri $uri/ /scp/ajax.php?$query_string;
    }

    location ~ ^/ajax.php/.*$ {
        try_files $uri $uri/ /ajax.php?$query_string;
    }

    location / {
        try_files $uri $uri/ index.php;
    }

    location ~ \.php$ {
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_param  PATH_INFO        $path_info;
        fastcgi_pass   192.168.0.24:8888;
    }
}