1.进入到nginx安装目录-看到nginx${版本号}的目录,会有configure文件
然后执行
./configure --prefix=/usr/local/nginx-1.9.9 --add-module=…/lua-nginx-module-0.10.10/ --with-http_ssl_module
然后执行
make
出现:make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
看是否是缺失依赖
yum install pcre-devel zlib zlib-devel openssl openssl-devel
然后修改nginx.conf配置文件
编辑 /usr/local/nginx/conf/nginx.conf
server {
listen 443 ssl;
server_name 域名;
ssl_certificate pem所在位置;
ssl_certificate_key key所在位置;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /wxapi/ { #代理
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8000/;
client_max_body_size 20m;
}
}
保存并退出文件,启动nginx:./nginx
启动报错:the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/nginx.conf:135
解决方案:
进入安装源包位置源码包
cd /usr/local/nginx-1.9.9/nginx-1.9.9
查看所安装的模块中是否存在:http_ssl_module
/usr/local/nginx/sbin/nginx -V
添加:http_ssl_module
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
运行
make
备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
然后将刚刚编译好的nginx覆盖掉原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
再次查看模块
/usr/local/nginx/sbin/nginx -V
然后再次启动
报错:nginx: [emerg] open() "/usr/local/nginx/conf/nginx.conf" failed (2: No such file or directory)
我的nginx.conf在nginx目录下
解决方案:创建conf文件夹,软连接nginx.conf
ln -s /usr/local/nginx/nginx.conf /usr/local/nginx/conf/
启动:./nginx -s reload
报错:nginx: [emerg] open() "/usr/local/nginx/conf/mime.types" failed (2: No such file or directory) in /usr/local/nginx/conf/nginx.conf:18
解决方案:
在nginx.conf中指定mime.types的位置
启动,报错:nginx: [alert] kill(18991, 1) failed (3: No such process)
解决方案:
执行1:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
执行2:./nginx -s reload
启动成功了。