nginx报如下错误,不能启动nginx是什么么原因

请教个nginx反向代理的问题_百度知道
提问者采纳
如果是静态网站,或许可能实现!不过我觉得如果是动态的话,你搭建2个虚拟机测试一下就知道了这个问题,可能不行
因为我觉得可以,环境测试不可以,所以我向确认下是否是我配置问题还是本就不可以
我本地没有测试环境,不能帮你验证了,希望其他人能帮到你!可以尝试一下squid做一下试试
提问者评价
其他类似问题
反向代理的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前访客身份:游客 [
当前位置:
我想在Nginx添加一个新的模块,重新编译生成新的nginx可执行程序,然后旧的nginx重命名为那个nginx.old,把新的nginx复制到/usr/local/nginx/sbin/下,启动新的nginx,出现如下错误:
网上的解决方发是kill掉原来nginx进程,可是这就不符合平滑升级了,请问有没有什么解决办法?
共有6个答案
<span class="a_vote_num" id="a_vote_num_
里提供有Nginx服务管理脚本,里面的平滑升级脚本函数:
do_upgrade() {
OLDBINPIDFILE=$PIDFILE.oldbin
do_configtest -q || return 6
start-stop-daemon --stop --signal USR2 --quiet --pidfile $PIDFILE --name $NAME
RETVAL=&$?&
if [ -f $OLDBINPIDFILE -a -f $PIDFILE ]; then
start-stop-daemon --stop --signal QUIT --quiet --pidfile $OLDBINPIDFILE --name $NAME
RETVAL=&$?&
echo $&Upgrade failed!&
return $RETVAL
在Nginx平滑upgrade时: 首先发送USR2信号(平滑升级可执行程序)给原master,原master进程会额外启动一个master进程和若干worker进程,新旧worker进程同时提供对外服务. 第二步发送WINCH信号(从容关闭工作进程),原worker进程停止服务并退出. 最后发送QUIT信号(从容关闭)给原master使之退出,只保留新的master和worker.
<span class="a_vote_num" id="a_vote_num_
1、编译一份新代码,但是不覆盖原先的,监听端口改一下,如原来是80,新编译的监听8080
2、启动新的nginx
3、设置linux的端口映射,将80映射到8080上(瞬间完成)
4、关闭旧的nginx服务
4、再编译一份新的nginx,覆盖原先的,监听80端口
6、将端口映射去掉
7、停止监听8080的服务,删除文件
<span class="a_vote_num" id="a_vote_num_
nginx不是有参数处理平滑升级的吗?
<span class="a_vote_num" id="a_vote_num_
http://urchin./860
<span class="a_vote_num" id="a_vote_num_
kill -USR2 [旧master进程号]
kill -WINCH [旧master进程号]
# 待旧的worker进程全部退出后,如果不想恢复到旧版就直接,就可以关闭旧版的master进程
kill -TERM [旧master进程号]
# 若发现新版有问题想恢复到旧版,在没有关闭旧版的master进程前提下恢复到旧版
kill -HUP [旧master进程号]
kill -QUIT [新master进程号]
kill -TERM [新master进程号]
# 若因为一些错误导致新worker无法退出,就直接kill掉
kill -KILL [新worker进程号]
<span class="a_vote_num" id="a_vote_num_
kill -USR2 旧版程序的主进程号或进程文件名
--- 共有 1 条评论 ---
这样做了还是不行,旧版程序还在,新版起不来
(10个月前)&nbsp&
有什么技术问题吗?
Avril的其他问题
类似的话题启动nginx报错:libcrypto.so: cannot open shared objec_小组_ThinkSAAS
启动nginx报错:libcrypto.so: cannot open shared objec
启动nginx报错:libcrypto.so: cannot open shared objec
在nginx启动时,报如下错误:
/opt/nginx/sbin/nginx: error while loading shared libraries: libcrypto.so:
cannot open shared objec
解决方法:
1. 查看本机的libcrypto.so位置
locate libcrypto.so
2. 编辑vi /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/opt/nginx/lib/
/usr/local/lib
3. 检查错误
/sbin/ldconfig
4. 启动nginx
可修改软链接到libcrypto.so
ln -s libcrypto.so.0.9.8 libcrypto.so
用户评论(0)
开发技术学习小组列表
PHP开发框架
缓存Memcache
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
手机客户端
ThinkSAAS接收任何功能的Iphone(IOS)和Android手机的客户端定制开发服务
让ThinkSAAS更好,把建议拿来。
iphone扫码下载客户端作者:&发布于: 11:03:35&
重装了下系统(Windows 7),发现先前装的一些软件大部分不能正确启动,更为奇怪的是,即使我重装了该软件,打开的软件界面的时候,报如下错误:&无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题&
网上说,重新注册下 MSVCP120.dll:
但注册的时候报错:
最后,找到一个终极解决方案:
去下载一个&DirectX修复工具 v3.2 增强版&工具,一劳永逸解决问题!
下载地址:
软件截图:
相关日志:下次自动登录
现在的位置:
& 综合 & 正文
Win7下,nginx默认80端口被System占用,造成nginx启动报错
在win7 32位旗舰版下,启动1.0.8版本nginx,显示如下错误:
13:55:59 [emerg] : bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
在cmd窗口运行如下命令:
C:\Users\Administrator&netstat -aon | findstr :80
看到80端口果真被占用。发现占用的pid是4,名字是System。怎么禁用呢?
1、打开注册表:regedit
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
3、找到一个REG_DWORD类型的项Start,将其改为0
4、重启系统,System进程不会占用80端口
重启之后,start nginx.exe 。在浏览器中,输入127.0.01,即可看到亲爱的“Welcome to nginx!” 了。
&&&&推荐文章:
【上篇】【下篇】

我要回帖

更多关于 nginx.exe是什么 的文章

 

随机推荐