1. 首页
  2. 技术知识

centos8自定义目录安装nginx(教程详解)

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.下载解压源码

# 官网地址: https://nginx.org/en/download.html

wget -c https://nginx.org/download/nginx-1.17.5.tar.gz

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
总结

以上所述是小编给大家介绍的centos8自定义目录安装nginx,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对共生网络网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/108719.html

联系我们