千家信息网

Linux使用普通账户管理Nginx的方法

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,创建账户useradd duserNginx编译安装#下载并解压缩nginx包tar zxvf nginx-1.12.2.tar.gzcd nginx-1.12.2#编译安装./configure -
千家信息网最后更新 2025年02月03日Linux使用普通账户管理Nginx的方法

创建账户

useradd duser

Nginx编译安装

#下载并解压缩nginx包tar zxvf nginx-1.12.2.tar.gzcd nginx-1.12.2#编译安装./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' --add-module=/tmp/echo-nginx-modulemakemake install

说明⚠️:其中,如不需要echo模块,将最后一个选项去掉,如需要echo模块,从github上面拉到指定位置

配置 nginx.conf 文件

cd /etc/nginx/cp nginx.conf nginx.conf_bak#cat nginx.confuser  duser  duser;#Single coreworker_processes  2;#Multicore#worker_processes     8;#worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;error_log  /var/log/nginx/error.log warn;pid        /var/run/nginx.pid;events {    worker_connections  10240;}http {    include       /etc/nginx/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" "$http_host"'                      '$request_time $upstream_response_time $pipe - $upstream_addr';    log_format  post_format $request_body;    access_log  /var/log/nginx/access.log  main;    sendfile        on;    #tcp_nopush     on;    keepalive_timeout  120;    proxy_connect_timeout 600;    proxy_send_timeout 600s;    proxy_read_timeout 600s;    #gzip  on;    include /etc/nginx/http.d/*.conf;}stream {    log_format proxy '$remote_addr [$time_local] '                     '$protocol $status $bytes_sent $bytes_received '                     '$session_time "$upstream_addr" '                     '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';    access_log /var/log/nginx/stream.access.log proxy;    include /etc/nginx/stream.d/*.conf;}
#创建更改http,tcp服务目录和权限mkdir /etc/nginx/http.dmkdir /etc/nginx/stream.dchmod 777 /etc/nginx/http.dchmod 777 /etc/nginx/stream.d

修改 nginx 使用权限

chmod u+s /usr/sbin/nginx

测试

#启动nginxnginx#查看nginx服务ps -ef |grep nginxroot     22828     1  0 14:17 ?        00:00:00 nginx: master process nginxduser    23062 22828  0 14:50 ?        00:00:00 nginx: worker processduser    23063 22828  0 14:50 ?        00:00:00 nginx: worker processduser    23064 22828  0 14:50 ?        00:00:00 nginx: worker processduser    23065 22828  0 14:50 ?        00:00:00 nginx: worker processroot     23396 23364  0 16:20 pts/2    00:00:00 grep --color=auto nginx#先切到duser账户下su - duser#自定义一个http服务cat /etc/nginx/http.d/test.confserver {        listen       8080;        server_name  localhost;        location / {            root   html;            index  index.html index.htm;        }}#平滑重启nginxnginx -tnginx -s reload
0