一台机器可以启动两个nginx实例,需要注意的是端口冲突的问题;一个通过编译安装,另外一个直接拷贝第一个应用程序。
查看nginx位置 ,一般在 /usr/local/nginx,通过 cp 命令拷贝到其他文件夹,我这里是拷贝到 /home/sthb/nginx
修改 /home/sthb/nginx/nginx 文件夹以及文件夹下所有文件的所属用户和权限,可以避免很多权限相关的问题。
我这里当前用户是 sthb
# 修改文件夹下所有文件所属用户为 sthb sudo chown -R sthb: /home/sthb/nginx/nginx # 修改文件夹下所有文件权限为 744 sudo chmod -R 744 /home/sthb/nginx/nginx
进入到拷贝后的nginx.conf文件,修改需要的端口,不要与原nginx在使用的端口冲突,并且加上 ‘pid /home/sthb/nginx/nginx/logs/nginx.pid;’参数(根据实际路径设置,nginx.pid的位置在nginx/logs/目录下,如果没有就创建这个文件,如果有就进入这个文件把内容删除了),避免 重启的时候把原nginx实例给重启了。
worker_processes 1; pid /home/sthb/nginx/nginx/logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; client_max_body_size 10m; include conf.d/*.conf; }
我这里使用‘include conf.d/*.conf;’ 把配置文件放到 ‘ conf.d’目录下,自己配置需要的内容,这里不详细介绍。
**注意:**启动的时候使用绝对路径进行启动 ,注意加 ‘-c’ 参数指定配置文件
#检查配置文件是否有问题, '-c' 参数指定配置文件 /home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf -t # 启动服务 /home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf
#一般显示这个就代表没什么问题了,如果有报权限问题,注意查看一下对应文件的权限和所属用户 用户组有没有配置正确 nginx: the configuration file /home/sthb/nginx/nginx/conf/nginx.conf syntax is ok nginx: configuration file /home/sthb/nginx/nginx/conf/nginx.conf test is successful
查看进程可以发现启动了两个nginx实例,所属的用户不同,启用的配置文件也不同
重启服务
#重启服务 /home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf -s reload
注意启动拷贝nginx文件夹的后需要配置对应的权限和所属用户
nginx的conf文件需要注意不要冲突
启动 nginx 的时候需要指定 conf 配置文件,需要使用绝对路径进行指定
上一篇:MySQL安全(二)SQL注入