一般情况下没有这种需求,但对于强迫症患者来说,还是完整的走了一把。
普通用户是不允许使用1024以下端口的,所以此次操作仍然需要root权限来进行配置。而且由于使用了root安装,因此nginx用户仍然需要部分root授权。
一、安装
由于想后期维护偷懒,所以采取yum安装,这个需要用root装,因此nginx被安装到了系统的目录下面。涉及此次操作的目录及文件如下:
配置目录:/etc/nginx 配置文件:/etc/nginx/conf.d/default.conf bin文件:/usr/sbin/nginx
二、配置相关权限(nginx用户已建好)
1、将nginx用户加入到root组,同时修改相关目录为同组可写(chmod g+w path)。否则启动时会报没有目录权限。相关目录或文件如下:
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 --若不赋权,则运行报无法创建目录的错
2、修改为nginx用户添加特殊权限,具体原理请参看:Linux普通用户启动nginx
chmod u+s /usr/sbin/nginx
3、由于运行时nginx需要访问的默认目录都是归属root用户,因此要么都做g+w赋权,要么在default.conf中修改默认路径,指向nginx用户的目录。如:
htmlroot:/usr/share/nginx/html
三、自签名ssl证书的制作,详细操作请参见:如何创建一个自签名的ssl证书(X509)
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 --生成自签名证书