您的位置 首页 php

Centos7迁移不同的PHP项目工作笔记

1.前言 :公司有一台服务器(centos7)要到期了,所以呢,要迁移到新服务器下用 nginx 支撑不同的php项目。大多数都是电商项目。so! 此篇主要围绕nginx 服务迁移,整理 下迁移方案,方便日后浏览。

2. 操作:

安装所需的环境支撑

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

wget -c # 下载nginx tar包

图1

解压: tar -zxvf nginx-1.12.0.tar.gz

mv nginx-1.12.0 /usr/local/nginx

图2

cd 到 /usr/local/nginx 安装目录下: 你要做的是俩步:

1)./configure

2) make && make install

全部结束后 我 service nginx.status; 一下下,竟然提示我没有这个service 它报错了!

XXXXXXXXXXXX nginx.service Failed to start nginx.service: Unit not found.

图3

突然间想到一句话“妈妈,啥是Nginx 啊?”

那怎么办呢,别慌,抱住我的腰。咱这么整

你呀,去你的这个目录下[/etc/init.d/]

touch 一个nginx ,把nginx添加到系统服务。

1)cd /etc/init.d/

2) touch nginx

3) chmod 777 nginx

vim nginx

把下边这段神码粘贴进去

#########################

#!/bin/bash

nginx=/usr/local/nginx/sbin/nginx

conf=/usr/local/nginx/conf/nginx.conf

case $1 in

start)

echo -n “Starting Nginx”

$nginx -c $conf

echo ” done “;;

stop)

echo -n “Stopping Nginx”

killall -9 nginx

echo ” done”;;

test)

$nginx -t -c $conf;;

reload)

echo -n “Reloading Nginx”

ps auxww | grep nginx | grep master | awk ‘{print $2}’ | xargs kill -HUP

echo ” done”;;

restart )

$0 stop

$0 start;;

show)

ps -aux|grep nginx;;

*)

echo -n “Usage: $0 {start|restart|reload|stop|test|show}”;;

esac

##########################

注册成服务:chkconfig -add nginx

设置开机启动:chkconfig nginx on

紧接着,就可以使用以下命令了:

service nginx start

service nginx stop

service nginx restart

service nginx reload

激动的我破不及待的执行了一下服务启动命令 service nginx strat;

图4

遇到问题千万别慌,没病不死人,跟踪它,拿出柯南的态度看提示:无法打开错误日志文件,进入到对应的目录把缺的都新建,再执行 service nginx strat 。

提示 端口被占用, 更改ginx默认的80端口。

我的80被docker 里的onlyoffice占用了, 查找nginx的配置文件nginx.conf

使用 find 查找: find / -name nginx.conf

图5

我把我的nginx服务改到70端口

图6

最后,最后 再执行一遍 service nginx strat; 提示 done; 托了!

ps -ef | grep nginx 稳妥 它在!

到这,离线安装nginx 服务就成功了。

一个nginx 可能同时支撑着多个小项目,所以我们要通过不同的域名,访问不同的业务系统.通过不同的配置文件就可以达到这个效果,操作简单 look please!

老的服务器下nginx.conf 配置内容,主要做到路由的作用,先访问 nginx,通过下面

include /etc/nginx/conf.d/*.conf; # 加载到不同域名的conf文件,从而区分不同业务 。

conf文件我是通过域名标记的,通过域名好区分业务。第一层配置文件的作用就是能叫它跳到二层配置文件。

user root;

worker_processes 1;

worker_rlimit_nofile 65535;

error_log / var /log/nginx/error.log warn;

pid /var/run/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘

‘$status $body_bytes_sent “$http_referer” ‘

‘”$http_user_agent” “$http_x_forwarded_for”‘;

access_log /var/log/nginx/access.log main;

sendfile on;

#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

#default_type ‘text/html’;

charset utf-8;

include /etc/nginx/conf.d/*.conf; #### 加载不同业务服务的conf配置文件。

}

看一下不同的业务conf文件,我是通过域名区分业务加载不同的conf文件

图7

拿一个conf为例,我们看下二级配置文件怎样配置的

图8

重新加载一遍nginx ,载入我新配置的服务。不用停掉服务,我就是生产环境。看自己的情况怎样选择重新load配置文件。

/usr/sbin/nginx -s reload

到这你新的项目就被nginx 服务加载进来了 。

邮箱:yzydevops@163.com

文章来源:智云一二三科技

文章标题:Centos7迁移不同的PHP项目工作笔记

文章地址:https://www.zhihuclub.com/153423.shtml

关于作者: 智云科技

热门文章

网站地图