Nginx 部署 HTTP 静态服务

搭建静态网站,首先需要部署环境。下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务。

安装 Nginx

在Ubuntu 16.04.3上

apt install nginx

安装完成后,启动Nginx:

nginx

配置静态服务器访问路径

外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置静态资源的路径信息才能通过 url 正确访问到服务器上的静态资源。

打开 Nginx 的默认配置文件 /etc/nginx/nginx.conf ,修改 Nginx 配置如下:

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

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

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /data/www;

        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

}

然后尝试重启nginx使配置生效

nginx -s reload

发现报错

屏幕快照 2018-07-06 下午3.23.36.png

百度发现是没有添加配置中的nginx用户组

添加用户组

sudo adduser --system --no-create-home --disabled-password --group nginx

重启后,现在我们应该已经可以使用我们的静态服务器了

测试

现在让我们新建一个静态文件,查看服务是否运行正常。

首先让我们在/data目录 下创建 www目录,如:

mkdir -p /data/www

在 /data/www 目录下创建我们的第一个静态文件 index.html

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>第一个静态文件</title>
</head>
<body>
Hello world!
</body>
</html>

现在访问 http://<域名/公网ip>/index.html应该可以看到页面输出 Hello world!

到此,一个基于 Nginx 的静态服务器就搭建完成了,现在所有放在 /data/www目录下的的静态资源都可以直接通过域名访问。

参考资料

搭建 Nginx 静态网站

[emerg]: getpwnam(“nginx”) failed

猜你喜欢

转载自blog.csdn.net/angus_monroe/article/details/80941760