我正在运行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。
答案 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