1.安裝工具和庫
# pcre是一個perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式
# zlib庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip
yum?-y?install?gcc-c++?pcre?pcre-devel?zlib?zlib-devel?openssl?openssl-devel
2.目錄結構
源碼目錄:/home/werben/pkgsrc/nginx
安裝目錄:/home/werben/application/nginx
3.下載解壓源碼
wget -c
4.創建用戶組和用戶
groupadd?www useradd?-g?www?www
5.編譯源碼
./configure?--user=www?--group=www?--prefix=/home/werben/application/nginx?--with-http_v2_module?--with-http_ssl_module?--with-http_sub_module?--with-http_stub_status_module?--with-http_gzip_static_module?--with-http_flv_module?--with-http_mp4_module?--with-pcre make?&&?make?install
6.映射全局命令
ln?-s?/home/werben/application/nginx/sbin/nginx?/usr/local/bin/nginx
7.啟動,停止,重啟
nginx?-s?stop nginx?-s?quit ngins?-s?reload
8.檢測配置文件nginx.conf正確性
nginx? -t
9.開機自啟動
vim?/lib/systemd/system/nginx.service [unit] description=nginx after=network.target [service] type=forking execstart=nginx execreload=nginx?reload execstop=nginx?quit privatetmp=true [install] wantedby=multi-user.target #重新加載守護進程 systemctl?daemon-reload #啟動nginx服務 systemctl?start?nginx.service #停止nginx服務 systemctl?stop?nginx.service #設置開機自啟動 systemctl?enable?nginx.service #停止開機自啟動 systemctl?disable?nginx.service #查看服務當前狀態 systemctl?status?nginx.service #重新啟動服務 systemctl?restart?nginx.service #查看所有已啟動的服務 systemctl?list-units?--type=service
10.出現問題和解決方法
#如果`systemctl?start?nginx.service`提示如下報錯 job?for?nginx.service?failed?because?the?control?process?exited?with?Error?code. see?"systemctl?status?nginx.service"?and?"journalctl?-xe"?for?details. #執行 systemctl?status?nginx.service #如果出現如下錯誤 ??process:?35783?execstart=...nginx/sbin/nginx(code=exitedstatus=203/exec) ??nginx.service:?control?process?exited,?code=exited?status=203 ??systemd[1]:?nginx.service:?failed?with?result?'exit-code'. ??localhost.localdomain?systemd[1]:?failed?to?start?nginx. journalctl?-xe #如果看到如下信息????? ??if?you?believe?that?systemd?should?be?allowed?execute?Access?on?the> ??then?you?should?report?this?as?a?bug. ??you?can?generate?a?local?policy?module?to?allow?this?access. ??do?allow?this?access?for?now?by?executing: ??#?ausearch?-c?'(nginx)'?--raw?|?audit2allow?-m?my-nginx ??#?semodule?-x?300?-i?my-nginx.pp #解決方法 setenforce?0 vim?/etc/selinux/config selinux=disabled
ps:nginx配置文件的結構說明
所有nginx配置文件都位于/etc/nginx/目錄中。
nginx的主要配置文件是/etc/nginx/nginx.conf。
為每個域創建一個單獨的配置文件使服務器易于維護。
nginx服務器阻止文件必須以結尾.conf并存儲在/etc/nginx/conf.d目錄中。您可以根據需要擁有任意數量的服務器塊。
遵循標準命名約定是一個好習慣。例如,如果域名是,mydomain.com則配置文件應命名為mydomain.com.conf
如果在域服務器塊中使用可重復的配置段,則最好將這些段重構為片段。
nginx日志文件(access.log和error.log)位于/var/log/nginx/目錄中。建議有不同access和error日志文件每個服務器模塊。
您可以將域文檔的根目錄設置為所需的任何位置。webroot的最常見位置包括:
/home/<user_name>/<site_name> /var/www/<site_name> /var/www/html/<site_name> /opt/<site_name> /usr/share/nginx/html</site_name></site_name></site_name></site_name></user_name>