无法在 ubuntu 服务器中启动 Nginx 服务器

Posted

技术标签:

【中文标题】无法在 ubuntu 服务器中启动 Nginx 服务器【英文标题】:Unable to start Nginx server in ubuntu server 【发布时间】:2017-04-23 20:53:41 【问题描述】:

无法启动nginx服务器操作系统:ubuntu server 16.04

systemctl 状态 nginx.status 正在抛出此消息: ● nginx.service - 高性能 Web 服务器和反向代理服务器 已加载:已加载(/lib/systemd/system/nginx.service;已启用;供应商预设:已启用) 活动:自 2016 年 12 月 8 日星期四 14:38:39 UTC 以来失败(结果:退出代码); 19 分钟前 进程:2560 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process 开启; (code=exited, status=1/FAILURE)

nginx.conf 文件:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events 
        worker_connections 768;
        # multi_accept on;


http 
        fastcgi_cache_path /usr/share/nginx/cache/fcgi levels=1:2 keys_zone=microcache:10m max_size=1024m inactive=1h;
        client_max_body_size 200M;
        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;



#mail 
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachephpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server 
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       
#
#       server 
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       
#

启用站点的文件:

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server 
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name timeskannada.com;

        location / 
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ 
                include snippets/fastcgi-php.conf;
        #
        #       # With php7.0-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php7.0-fpm:
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_cache  microcache;
                fastcgi_cache_key $scheme$host$request_uri$request_method;
                fastcgi_cache_valid 200 301 302 30s;
                fastcgi_cache_use_stale updating error timeout invalid_header http_500;
                fastcgi_pass_header Set-Cookie;
                fastcgi_pass_header Cookie;
                fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
                include fastcgi_params;
                fastcgi_read_timeout 200;
        

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht 
        #       deny all;
        #



# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server 
#       listen 80;
#       listen [::]:80;
#
#       server_name example.com;
#
#       root /var/www/example.com;
#       index index.html;
#
#       location / 
#               try_files $uri $uri/ =404;
#       
#

【问题讨论】:

[emerg] 2925#2925:/etc/nginx/nginx.conf:6 中不允许“if”指令在我的错误日志中出现此错误 ...并且您的配置中没有“如果”。尝试更新配置路径并检查您是否正在查看正确的文件。也可以尝试直接运行nginx -t 并发布结果。 nginx: [emerg] "if" 指令在 /etc/nginx/nginx.conf:6 中不允许使用 nginx: 配置文件 /etc/nginx/nginx.conf 测试失败 得到上面关于 nginx -t 的消息 【参考方案1】:

问题在于 nginx.conf 中的 Ithemes 安全规则,它在文件开头添加了 if 指令

【讨论】:

你能发布一个例子,这样可以作为一个例子,其他人应该如何看待这些问题? wodpress plugin ithemes security 编辑/etc/nginx/nginx.conf 文件并在文件开头添加了一些规则以 # BEGIN iThemes Security - 不要修改或删除此行 # iThemes Security Config Details: 2 # 启用 HackRepair.com 的黑名单功能 - 安全 > 设置 > 禁止用户 > 默认黑名单 # 启动 HackRepair.com 黑名单# 启动滥用代理阻止 这段代码在评论这些规则后导致这个错误 nginx 工作得很好 需要把这些规则的ithemes securit放在里面

以上是关于无法在 ubuntu 服务器中启动 Nginx 服务器的主要内容,如果未能解决你的问题,请参考以下文章

Nginx Prometheus 导出器无法启动连接被拒绝错误

ubuntu16.04 ssh服无法远程连接解决办法

nginx+ftp服务器搭建简易文件服务器

设置Nginx在linux服务器(Ubuntu)开机启动

解决亚马逊云服务器上安装nginx后无法访问的问题

在windows 8.1下无法利用批处理文件(.bat)启动bukkit(minecraft水桶服)