nginx: [emerg] invalid number of arguments in "ssl_certificate" directive in /home/local/nginx/conf/nginx.conf:124
表示nginx.conf配置文件第124行有语法错误,少了分号。
nginx: [emerg] invalid number of arguments in “ssl_certificate“ directive in /home/local/nginx/conf/
nginx: [emerg] invalid number of arguments in "ssl_certificate" directive in /home/local/nginx/conf/nginx.conf:124配置文件语法错误,少了分号
默认情况下
ssl
模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_
ssl
_module参数,安装模块依赖于Open
SSL
库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似lib
ssl
-dev。
可以通过以下步骤生成一个简单的证书:
首先,进入你想创建证书和私钥的目录,例如:
$ cd /usr/
local
/
nginx
/
conf
创建服务器私钥,命令会让你输入一个口令:
$ open
ssl
genrsa -des3 -out serverkey 1024
创建签名请求的证书(CSR):
$ open
ssl
req -new -key s
1、
Nginx
配置
ssl
模块 默认
Nginx
是没有
ssl
模块的,而我的 VPS 默认装的是
Nginx
0.7.63 ,顺带把
Nginx
升级到 0.7.64 并且 配置
ssl
模块方法如下: 下载
Nginx
0.7.64 版本,解压 进入解压目录: 代码如下: wget http://sysoev.ru/
nginx
/
nginx
-0.7.64.tar.gz tar zxvf
nginx
-0.7.64.tar.gz cd
nginx
-0.7.64 如果要更改header信息的话, 代码如下: vi src/core/
nginx
.h #define
NGINX
_VERSI
这个一个比较常见的问题,配置文件里面应该有路径有问题
注意在:这里如果路径名称有空格要用引号引起来,应为不引会被当成2个路径解析。如上,提示
nginx
.
conf
文件的208行,
改成这样就没事了:...
其一,是说可能语句缺少了分号“;”。但是这种错误比较明显也很容易修改。
其二,是说root路径语句中不能包含空格和中文。实际上出现这个错误基本上就是这一条了。在路径中不能包含中文和空格,这两点确实是禁忌。
proxy_pass http://server2/;
但是忘记了server1上有个服务路径是/indexNew,结果就被proxy到了server1,出现404问题,然后紧急修改配置如下:
location /indexNew {
proxy_pass http://server1/;
尝试使用
Nginx
进行反向代理过程中出现如下错误:
代码如下:
nginx
: [e
merg
] “proxy_cache_path”
directive
is not allowed here in /etc/
nginx
/
conf
.d/default.
conf
:29
提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围才知道,他只能使用于http{ }部分,把proxy_cache_path放置于http部分即可解决此问题
参见:http://
nginx
.org/cn/docs/http/ngx_http_proxy_module.
我用的是ubuntu18.04安装
nginx
一般来说我们安装的
nginx
文件结构大致是这样的:
1. 所有的配置文件都在/etc/
nginx
下,并且每个虚拟主机已经安排在了/etc/
nginx
/sites-available下
2. 程序文件在/usr/sbin/
nginx
3. 日志放在了/var/log/
nginx
中
4. 并已经在/etc/init.d/下创建了启动脚本
nginx
5. 默认的虚拟主机的目录设置在了/var/www/
nginx
-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/
nginx
/sites-available
[已解决]
nginx
: [e
merg
]
invalid
number
of
arguments
in "root"
directive
in /etc/
nginx
/
nginx
.
conf
:45
nginx
: [e
merg
]
invalid
number
of
arguments
in "proxy_pass"
directive
in /usr/
local
/
nginx
/
conf
/
nginx
.
conf
:46
2.问题分析
估计是文件写错了 一搜就找到了解决方案。
3.问题解决
缺少了分号。
加上就可以了。