非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    --生成自簽名證書
相關文章
相關標籤/搜索