估计大家都没有踩过的nginx坑

简介: 记录一次NGINX踩坑

直接上nginx配置,大家看看有没有问题呢

root用户运行

test.conf 

server{
listen443 ssl;
server_nameauth-api.dataflux.cn;
ssl_certificate      /tmp/server.crt;
ssl_certificate_key  /tmp/server.key;
location / {
root   /root/nginx/dist/;
indexindex.html index.htm;
        }
location /server_status {
stub_status on;
access_log off;
       }
}


重启nginx

[root@izbp152ke14timzud0du15z conf.d]# service nginx restartRedirecting to /bin/systemctl restart nginx.serviceJob for nginx.service failedbecause thecontrol processexited witherror code. See "systemctl status nginx.service"and "journalctl -xe"for details.


查看日志

journalctl -xe-u nginx

image.png


说是 /tmp/server.crt 文件不能加载

但是证书文件都是存在的

[root@izbp152ke14timzud0du15z conf.d]# ls -l /tmp/server.crt  /tmp/server.key-rw-r--r--1 root root 1399 Nov  621:56 /tmp/server.crt
-rw-r--r--1 root root 1679 Nov  621:56 /tmp/server.key

验证下nginx配置文件是不是有问题,那么测试一下,居然报错了

[root@izbp152ke14timzud0du15z conf.d]# nginx -tc /etc/nginx/conf.d/test.confnginx: [emerg] "server" directive is not allowed here in /etc/nginx/conf.d/test.conf:1
nginx: configuration file /etc/nginx/conf.d/test.conf test failed

但是我实在想不出有什么错误,网上查找了下,测试配置文件,不能这样测试,要测试 nginx.conf 文件才算是完整的测试

[root@izbp152ke14timzud0du15z conf.d]# nginx -tc /etc/nginx/nginx.confnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

目前语法没有错误,就是NGINX 报错起不来,提示 /tmp/server.crt 文件加载不了,于是我把证书相关文件拷贝到其它目录去了(想到这一步花了挺长时间,流泪)

server{
listen443 ssl;
server_nameauth-api.dataflux.cn;
ssl_certificate      /root/dac/server.crt;
ssl_certificate_key  /root/dac/server.key;
location / {
root   /root/nginx/dist/;
indexindex.html index.htm;
        }
location /server_status {
stub_status on;
access_log off;
       }
}


再次测试并重启nginx,竟然成功启动了,难道是 /tmp 目录没有权限,不可能啊,是root啊,是因为这是临时目录吗,我竟然踩了这样一个坑

[root@izbp152ke14timzud0du15z conf.d]# nginx -tc /etc/nginx/nginx.confnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@izbp152ke14timzud0du15z conf.d]# service nginx restartRedirecting to /bin/systemctl restart nginx.service

验证访问

[root@izbp152ke14timzud0du15z conf.d]# curl -w "%{http_code}\n" -o /dev/null https://172.16.5.9 -k  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
1004628100462800440250--:--:-- --:--:-- --:--:-- 44500200
相关文章
|
24天前
|
运维 前端开发 应用服务中间件
LNMP详解(八)——Nginx动静分离实战配置
LNMP详解(八)——Nginx动静分离实战配置
27 0
|
1月前
|
应用服务中间件 nginx
Nginx中如何配置中文域名?
Nginx中如何配置中文域名?
44 0
|
23天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
93 0
|
1月前
|
PHP
百度虚拟机 bcloud_nginx_user.conf配置
百度虚拟机 bcloud_nginx_user.conf配置
22 0
|
3天前
|
安全 应用服务中间件 网络安全
SSL原理、生成SSL密钥对、Nginx配置SSL
现在,你的Nginx虚拟主机应该已经配置了SSL,可以通过HTTPS安全访问。确保在生产环境中使用有效的SSL证书来保护通信的安全性。
12 0
|
5天前
|
域名解析 缓存 负载均衡
Nginx正向代理域名的配置
Nginx正向代理域名的配置
|
6天前
|
前端开发 JavaScript 应用服务中间件
修改Jeecg-boot context-path(附加图片+Nginx配置)
修改Jeecg-boot context-path(附加图片+Nginx配置)
12 0
|
16天前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
24 0
|
18天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
29 0
|
26天前
|
应用服务中间件 nginx
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
9 0