普通用户启动nginx

Posted remyyoung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了普通用户启动nginx相关的知识,希望对你有一定的参考价值。

nginx在Linux环境中的安全运行(普通用户启动,达到权限的最小化运行)

  由于1024以下的端口只对超级用户开放,所以普通用户启动nginx需要设置端口在1024以上。

因此nginx要运行在80端口上需要配置防火墙端口转发规则,nginx运行环境linux centos7.x

一,添加普通用户 nginx 组module

groupadd module
useradd nginx -g module

二,修改nginx程序所属对象

#查看nginx安装位置
[root@hadoop01 ~]# find / -name nginx
/var/db/sudo/lectured/nginx
/var/spool/mail/nginx
/usr/local/nginx					#nginx安装位置
/usr/local/nginx/sbin/nginx
/home/nginx						#nginx用户(自己创建的)
/opt/tmpdir/nginx-1.8.1/objs/nginx

  更改/usr/local/nginx 的所属对象和组

chown -R nginx:module /usr/local/nginx
#[root@hadoop01 ~]# ll /usr/local/nginx/
total 4
drwx------. 2 nginx module    6 Apr 21 00:11 client_body_temp
drwxr-xr-x. 2 nginx module 4096 Apr 21 03:05 conf
drwx------. 2 nginx module    6 Apr 21 00:11 fastcgi_temp
drwxr-xr-x. 2 nginx module   40 Apr 21 00:08 html
drwxr-xr-x. 2 nginx module   58 Apr 21 03:06 logs
drwx------. 2 nginx module    6 Apr 21 00:11 proxy_temp
drwxr-xr-x. 2 nginx module   19 Apr 21 00:08 sbin
drwx------. 2 nginx module    6 Apr 21 00:11 scgi_temp
drwx------. 2 nginx module    6 Apr 21 00:11 uwsgi_temp

  在nginx用户的家目录下创建nginx工作目录 

mkdir -p /home/nginx/data /home/nginx/run /home/nginx/log
[nginx@hadoop01 ~]$ pwd
/home/nginx
[nginx@hadoop01 ~]$ ll
total 0
drwxr-xr-x. 2 nginx module 6 Jul 25 02:58 data
drwxr-xr-x. 2 nginx module 6 Jul 25 02:58 log
drwxr-xr-x. 2 nginx module 6 Jul 25 02:58 run

  修改nginx配置文件,所有涉及到文件访问的,nginx用户必须有rwx权限

vim /usr/local/nginx/conf/nginx.conf

  nginx.conf文件内容

user  nginx;
worker_processes  1;

error_log  /home/nginx/log/error.log;        #日志存放位置
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        /home/nginx/run/nginx.pid;        #进程号文件存放位置


events 
    use epoll;
    worker_connections  1024;


http 
    include       mime.types;
    default_type  application/octet-stream;

    #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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server 
        listen       8080;            #非超级用户不可以监听1024以下端口
        server_name  hadoop01;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / 
            root   html;
            index  index.html index.htm;
          
    

三,设置端口转发规则

# 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
firewall-cmd --reload

四,切换到nginx用户启动nginx

su - nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

  查看nginx进程

技术图片

 五,测试

技术图片

六,注意

  域名访问需要在windows本地hosts文件中配置

  C:\\Windows\\System32\\drivers\\etc\\hosts 中添加 192.168.86.131 hadoop01

  

 

以上是关于普通用户启动nginx的主要内容,如果未能解决你的问题,请参考以下文章

Linux 普通用户启动nginx

Linux 普通用户启动nginx

如何在普通用户下,使用nginx启动80端口

Linux普通用户使用1024以下端口的问题

Linux普通用户使用1024以下端口的问题

普通用户安装Nginx