1.安裝工具和庫(kù)
# PCRE是一個(gè)Perl庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)。nginx 的 http 模塊使用 pcre 來(lái)解析正則表達(dá)式
# zlib庫(kù)提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.目錄結(jié)構(gòu)
源碼目錄:/home/werben/pkgsrc/nginx
安裝目錄:/home/werben/application/nginx
3.下載解壓源碼
# 官網(wǎng)地址: https://nginx.org/en/download.html
wget -c https://nginx.org/download/nginx-1.17.5.tar.gz
4.創(chuàng)建用戶(hù)組和用戶(hù)
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.啟動(dòng),停止,重啟
nginx -s stop
nginx -s quit
ngins -s reload
8.檢測(cè)配置文件nginx.conf正確性
nginx -t
9.開(kāi)機(jī)自啟動(dòng)
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
#重新加載守護(hù)進(jìn)程
systemctl daemon-reload
#啟動(dòng)nginx服務(wù)
systemctl start nginx.service
#停止nginx服務(wù)
systemctl stop nginx.service
#設(shè)置開(kāi)機(jī)自啟動(dòng)
systemctl enable nginx.service
#停止開(kāi)機(jī)自啟動(dòng)
systemctl disable nginx.service
#查看服務(wù)當(dāng)前狀態(tài)
systemctl status nginx.service
#重新啟動(dòng)服務(wù)
systemctl restart nginx.service
#查看所有已啟動(dòng)的服務(wù)
systemctl list-units --type=service
10.出現(xiàn)問(wèn)題和解決方法
#如果`systemctl start nginx.service`提示如下報(bào)錯(cuò)
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
#執(zhí)行
systemctl status nginx.service
#如果出現(xiàn)如下錯(cuò)誤
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配置文件的結(jié)構(gòu)說(shuō)明
所有Nginx配置文件都位于/etc/nginx/目錄中。
Nginx的主要配置文件是/etc/nginx/nginx.conf。
為每個(gè)域創(chuàng)建一個(gè)單獨(dú)的配置文件使服務(wù)器易于維護(hù)。
Nginx服務(wù)器阻止文件必須以結(jié)尾.conf并存儲(chǔ)在/etc/nginx/conf.d目錄中。您可以根據(jù)需要擁有任意數(shù)量的服務(wù)器塊。
遵循標(biāo)準(zhǔn)命名約定是一個(gè)好習(xí)慣。例如,如果域名是,mydomain.com則配置文件應(yīng)命名為mydomain.com.conf
如果在域服務(wù)器塊中使用可重復(fù)的配置段,則最好將這些段重構(gòu)為片段。
Nginx日志文件(access.log和error.log)位于/var/log/nginx/目錄中。建議有不同access和error日志文件每個(gè)服務(wù)器模塊。
您可以將域文檔的根目錄設(shè)置為所需的任何位置。webroot的最常見(jiàn)位置包括:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
/usr/share/nginx/html
總結(jié)
以上所述是小編給大家介紹的centos8自定義目錄安裝nginx,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!