非root用户在80端口运行nginx

  通常状况下没有这种需求,但对于强迫症患者来讲,仍是完整的走了一把。html

  普通用户是不容许使用1024如下端口的,因此这次操做仍然须要root权限来进行配置。并且因为使用了root安装,所以nginx用户仍然须要部分root受权。nginx

1、安装浏览器

  因为想后期维护偷懒,因此采起yum安装,这个须要用root装,所以nginx被安装到了系统的目录下面。涉及这次操做的目录及文件以下:post

配置目录:/etc/nginx
配置文件:/etc/nginx/conf.d/default.conf
bin文件:/usr/sbin/nginx

2、配置相关权限(nginx用户已建好)url

  一、将nginx用户加入到root组,同时修改相关目录为同组可写(chmod g+w path)。不然启动时会报没有目录权限。相关目录或文件以下:spa

usermod -g root nginx
chmod g+w /etc/nginx/conf.d  --此操做只为之后可使用普通用户修改配置
chmod g+w /etc/nginx/conf.d/default.conf  --此操做只为之后可使用普通用户修改配置
chmod g+w /var/cache/nginx  --若不赋权,则运行报没法建立目录的错

  二、修改成nginx用户添加特殊权限,具体原理请参看:Linux普通用户启动nginxcode

chmod u+s /usr/sbin/nginx

  三、因为运行时nginx须要访问的默认目录都是归属root用户,所以要么都作g+w赋权,要么在default.conf中修改默认路径,指向nginx用户的目录。如:server

htmlroot:/usr/share/nginx/html

3、自签名ssl证书的制做,详细操做请参见:如何建立一个自签名的ssl证书(X509)
htm

1 $ openssl genrsa -des3 -out server.key 2048    --生成私钥
2 $ openssl req -new -key server.key -out server.csr    --生成CSR(证书签名请求),会要求输入一些信息,其中Common Name要填写域名,不然浏览器会警告
3 $ cp server.key server.key.org    --删除私钥中的密码(可选)1
4 $ openssl rsa -in server.key.org -out server.key    --删除私钥中的密码(可选)2
5 $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt    --生成自签名证书
相关文章
相关标签/搜索