1.前言 :公司有一臺服務器要到期了鸦列,所以呢,要遷移下應用鹏倘,大多數(shù)都是電商項目聋伦。so! 此篇主要圍繞nginx 服務遷移泉手,整理 下遷移方案笔呀,方便日后瀏覽。
2. 操作:
安裝所需的環(huán)境支撐
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
下載nginx:wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
解壓: tar -zxvf nginx-1.12.0.tar.gz
mv nginx-1.12.0 /usr/local/nginx
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.
突然間想到一句話“媽媽,啥是Nginx 啊公荧?”
那怎么辦呢带射,別慌,抱住我的腰循狰。咱這么整
你呀窟社,去你的這個目錄下[/etc/init.d/]touch 一個nginx,這招叫《把nginx添加到系統(tǒng)服務》
狠不狠,你掌握療效就完了绪钥。
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
激動的我破不及待的執(zhí)行了一下服務啟動命令? service nginx strat;?
遇到問題千萬別慌,沒病不死人程腹,跟蹤它匣吊,拿出柯南的態(tài)度看提示:無法打開錯誤日志文件,進入到對應的目錄把缺的都新建跪楞,再執(zhí)行 service nginx strat? 缀去。
提示 端口被占用, 更改ginx默認的80端口甸祭。
我的80被docker 里的onlyoffice占用了缕碎, 查找nginx的配置文件nginx.conf?
?find / -name nginx.conf
我把我的nginx服務改到70端口
最后,最后? 再執(zhí)行一遍? ?service nginx strat; 提示 done 池户;? ?托了咏雌!
ps -ef | grep nginx? ?穩(wěn)妥 它在!
到這校焦,離線安裝nginx 服務就成功了赊抖。
一個nginx 可能同時支撐著多個小項目,所以我們要通過不同的域名,訪問不同的業(yè)務系統(tǒng).通過不同的配置文件就可以達到這個效果寨典,操作簡單? look please氛雪!
老的服務器下nginx.conf 配置內容,主要做到路由的作用耸成,先訪問 nginx报亩,通過下面?
??include /etc/nginx/conf.d/*.conf;? 加載到不同域名的conf文件浴鸿,從而 區(qū)分不同業(yè)務 。
?conf文件我是通過域名標記的弦追,通過域名好區(qū)分業(yè)務岳链。第一層配置文件的作用就是能叫它跳到二層配置文件。
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;? ? ####? 加載不同業(yè)務服務的conf配置文件劲件。
}
看一下不同的業(yè)務conf文件掸哑,我是通過域名區(qū)分業(yè)務加載不同的conf文件
拿一個為例,我們看下二級配置文件怎樣配置的
重新加載一遍nginx 零远,載入我新配置的服務苗分。不用停掉服務,我就是生產環(huán)境遍烦〖筻遥看自己的情況怎樣選擇重新load配置文件。?
/usr/sbin/nginx -s reload
到這你新的項目就被nginx 服務加載進來了 服猪。
郵箱:yzydevops@163.com??