同一台服务器安装多个nginx(总结)
创始人
2025-01-16 23:04:06
0

  背景:在同一台服务器上同时安装测试环境和生产环境,我们项目经理为了俩个项目更独立分别在不同目录下都安装了tomcat和nginx。在我部署项目的时候,后端没出什么太大问题,前端由于俩个nginx,在运行时出了一些问题折腾了很长时间。

  总结:在同一台服务器上安装多个nginx完全没有问题,但需要注意的问题有:

        1.每个Nginx实例需要使用不同的端口号和配置文件,以避免端口冲突和配置文件混淆。可以在安装时通过指定不同的安装目录和配置文件路径来实现;

        2.需要在系统中为每个Nginx实例配置独立的系统服务,以便在系统启动时自动启动。可以通过创建不同的systemd服务来实现。例如,可以创建一个名为nginx1.service的服务文件来启动第一个Nginx实例,并创建一个名为nginx2.service的服务文件来启动第二个Nginx实例;

      3.要注意系统资源的分配和管理。在同一台服务器上运行多个Nginx实例可能会占用较多的系统资源,包括CPU、内存和磁盘空间等。因此,在部署多个Nginx实例时,需要确保系统资源足够,并进行合理的资源分配和管理,以避免系统负载过高和性能下降等问题。

    遇见的问题:

1.(主要问题)由于安装了多个nginx,在输入启动命令时,系统不知道执行哪一个,需输入指定路径

    eg.(1)检查不同的配置文件路径

/usr/local/nginx/conf/nginx.conf  # 第一个 Nginx 实例的配置文件 /usr/local/nginx2/conf/nginx.conf # 第二个 Nginx 实例的配置文件

         (2) 每个配置文件应该包含唯一的端口号,如下所示:

# /usr/local/nginx/conf/nginx.conf http {     server {         listen       80;         server_name  localhost;         ...     } }  # /usr/local/nginx2/conf/nginx.conf http {     server {         listen       8080;         server_name  localhost;         ...     } } 

       (3)最后启动每个 Nginx 实例时,分别使用不同的端口号和配置文件路径:

# 启动第一个 Nginx 实例 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  # 启动第二个 Nginx 实例 /usr/local/nginx2/sbin/nginx -c /usr/local/nginx2/conf/nginx.conf 

若想要同时运行多个 Nginx 实例,需将上述命令添加到自己的启动脚本中

2.在执行重新加载配置文件命令时,会有sudo: nginx: command not found报错

# 重新加载 Nginx 配置文件(root用户)    sudo nginx -s reload  # 报错      sudo: nginx: command not found  # 原因:这可能是因为在root用户的PATH环境变量中没有包含nginx可执行文件的路径。可以尝试在命令前加上完  # 整的路径,例如:    sudo /usr/local/nginx/sbin/nginx -s reload  # 或者将nginx可执行文件所在的路径添加到root用户的PATH环境变量中,例如:      export PATH=$PATH:/usr/local/nginx/sbin 

      或者在加载配置文件之前,先检查配置文件是否有语法错误,命令如下:

sudo nginx -t

3.查看运行中的nginx进程

ps -ef | grep nginx  # 输出结果  nobody   13701 13700  0 10:13 ?        00:00:00 nginx: worker process  root     20973 13070  0 11:02 pts/1    00:00:00 grep --color=auto nginx  # 进程所有者(第一列)  进程ID(第二列) 父进程ID(第三列) CPU占用率(第四列)   # 内存占用率(第五列)  进程状态(第六列) 进程启动时间(第七列) 进程名称(第八列)  ### 最后一行是 grep 命令本身的进程信息,可以忽略

4.在Nginx配置文件中,搜索所有包含listen关键字的行,可以使用以下命令:

sudo grep -R "listen" /etc/nginx/ 

相关内容

热门资讯

法子辅助!电脑版海盗来了辅助!... 法子辅助!电脑版海盗来了辅助!分享存在有辅助app(有挂方略)1、电脑版海盗来了辅助辅助软件下载优化...
教学辅助挂!蜀山手游全自动辅助... 教学辅助挂!蜀山手游全自动辅助(辅助)果然确实有辅助工具(有挂方针)1、超多福利:超高返利,海量正版...
五分钟了解!wejoker辅助... 五分钟了解!wejoker辅助软件价格,epoker透视底牌,窍要教程(有挂解惑)该软件可以轻松地帮...
第三方辅助!欢乐达人破解器(辅... 第三方辅助!欢乐达人破解器(辅助)原来真的是有辅助神器(有挂教程)1、在欢乐达人破解器插件功能辅助器...
讲义辅助!杭州都莱游戏辅助!必... 讲义辅助!杭州都莱游戏辅助!必备是真的有辅助攻略(有挂规律)讲义辅助!杭州都莱游戏辅助!必备是真的有...
五分钟了解!wepokerpl... 五分钟了解!wepokerplus透视脚本免费,hhpoker辅助器,机巧教程(有挂秘笈)wepok...
第三方辅助挂!多乐找刺激捕鱼辅... 第三方辅助挂!多乐找刺激捕鱼辅助(辅助)切实确实有辅助脚本(有挂讲解)1、这是跨平台的多乐找刺激捕鱼...
模块辅助!潮汕汇辅助神器!详细... 模块辅助!潮汕汇辅助神器!详细真的有辅助工具(有挂解惑)1、操作简单,无需潮汕汇辅助神器手机版透视脚...
第5分钟了解!hh poker... 第5分钟了解!hh poker插件下载,hhpoker辅助器,办法教程(有挂技巧)1、hh poke...
有玩家发现!斗棋崇阳麻将辅助脚... 有玩家发现!斗棋崇阳麻将辅助脚本(辅助)一贯真的是有辅助教程(有挂秘笈)所有人都在同一条线上,像星星...