将Nginx作为非root用户Ubuntu 16.04运行

时间:2018-05-14 14:07:23

标签: ubuntu nginx

我正在运行Ubuntu 16.04(xenial)。

我想将nginx作为非root用户,非sudo 用户运行。

我明白这意味着我必须在一个端口运行nginx> 1024。

我创建了一个名为" nginxuser"的用户。我已尝试将user中的/etc/nginx/nginx.conf部分更改为" nginxuser"。

nginx.conf的顶部如下所示:

user nginxuser;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {
...

我的一些sites-enabled/default看起来像这样:

server {
        listen 1025 default_server; # 1025 > 1024
        listen [::]:1025 default_server;

经过这些尝试,我仍然无法以非root用户身份运行。

$service nginx start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'nginx.service'.
Authenticating as: Ubuntu (ubuntu)
Password: 

如何将nginx作为非root,非sudo用户运行?

以root身份在端口80上运行nginx似乎 RIDICULOUSLY 不安全。我不明白为什么在另一个端口上运行它是如此困难(我将使用IP表)。也许如果配置起来不那么困难,那么很少有人会在端口80上运行root。

1 个答案:

答案 0 :(得分:0)

一些背景


下载了ubuntu源码/构建 https://nginx.org/en/linux_packages.html

创建$ HOME / local / apps

在该目录中解开了创建nginx-1.14.2的文件

在$ HOME / local / apps / nginx-1.14.2中构建应用程序

./configure

 make

更改了nginx.conf,以便服务器侦听8080

在$ HOME / local / apps / nginx-1.14.2

objs / nginx -p $ HOME / local / apps / nginx-1.14.2