查看下当前Nginx进程情况
1 2 3 4
| $ ps -aux | grep nginx root 2290 0.0 0.2 13136 2148 ? Ss Jul17 0:00 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; error_log stderr; http 2291 0.0 0.4 13576 4204 ? S Jul17 0:01 nginx: worker process user 7093 0.0 0.2 6580 2304 pts/2 S+ 10:24 0:00 grep nginx
|
nginx 的work线程默认用http用户在跑。
1 2
| $ cat /etc/passwd | grep http http:x:33:33::/srv/http:/usr/bin/nologin
|
单独给Nginx分配个账户
对安全不是很懂,就按照能分就分的原则,把Nginx和http用户解耦一下,毕竟用Nginx不一定就是http。
1 2 3 4 5
| $ sudo useradd -d /home/nginx -s /usr/bin/nologin nginx $ sudo mkdir /home/nginx $ sudo mkdir -p /home/nginx/srv/http $ sudo chown -R nginx /home/nginx $ sudo chgrp -R nginx /home/nginx/*
|
账户和目录建好了,把网页拷到http目录下就好了。
配置Nginx
...表示省略一些东西。注意不要忘了语句以;结尾(要不然服务启动不成功)。
文件: /etc/nginx/nginx.conf
1 2 3 4 5 6 7 8 9
| ... user nginx; ... location / { root /home/nginx/srv/http; index index.html index.htm; } ...
|
改好后运行 systemctl restart nginx, 搞定。
1 2 3 4
| $ ps -ef | grep nginx root 7573 1 0 14:32 ? 00:00:00 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; error_log stderr; nginx 7574 7573 0 14:32 ? 00:00:00 nginx: worker process user 7778 6959 0 14:41 pts/2 00:00:00 grep nginx
|
好, worker process是用nginx 跑了。
小结
到此为止,git和nginx可以用各自账户跑了。接下来把git和nginx搭上线吧。