centos 7 编译安装nginx 及添加 nginx 到系统服务

一、安装准备

首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

$   yum install gcc-c++  
$   yum install pcre pcre-devel  
$   yum install zlib zlib-devel  
$   yum install openssl openssl--devel  

二、安装Nginx

安装之前,最好检查一下是否已经安装有nginx

$   find -name nginx  

如果系统已经安装了nginx,那么就先卸载

$   yum remove nginx  

首先进入/usr/local目录

$   cd /usr/local  

从官网下载最新版的nginx

$   wget http://nginx.org/download/nginx-1.7.4.tar.gz  

解压nginx压缩包

$   tar -zxvf nginx-1.7.4.tar.gz  

会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录

$   cd  nginx-1.7.4  

接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装

$   ./configure  $默认安装在/usr/local/nginx   
$   make  
$   make install 

如果没有报错,顺利完成后,最好看一下nginx的安装目录

$   whereis nginx 

安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。

Nginx常用命令

//测试配置文件
安装路径下的/nginx/sbin/nginx -t

//查看进程命令
ps -ef | grep nginx

//启动命令
安装路径下的/nginx/sbin/nginx
//停止命令
安装路径下的/nginx/sbin/nginx -s stop
或者 : nginx -s quit
//重启命令
安装路径下的/nginx/sbin/nginx -s reload

配置防火墙
//打开防火墙文件
sudo vim /etc/sysconfig/iptables
//新增行  开放80端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
//保存退出
//重启防火墙
sudo service iptables restart

   Nginx虚拟域名配置及测试验证

//编辑nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf
//增加行 
include vhost/*.conf
//保存退出
//在/usr/local/nginx/conf目录新建vhost文件夹
mkdir vhost
//创建每个域名的配置
sudo vim jimisun.com.conf
//节点中增加入响应的配置 端口转发 或者访问文件系统

三、添加Nginx到系统服务

创建nginx启动命令脚本

vi /etc/init.d/nginx

插入以下内容, 注意修改PATH和NAME字段, 匹配自己的安装路径 

#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0

设置执行权限

chmod a+x /etc/init.d/nginx

注册成服务

chkconfig --add nginx

设置开机启动

chkconfig nginx on

重启, 查看nginx服务是否自动启动

shutdown -h 0 -r
netstat -apn|grep nginx

对nginx服务执行停止/启动/重新读取配置文件操作

#启动nginx服务
systemctl start nginx.service
#停止nginx服务
systemctl stop nginx.service
#重启nginx服务
systemctl restart nginx.service
#重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
systemctl reload nginx.service

 

以上分别转载自  http://www.jb51.net/article/106323.htm  及  http://www.cnblogs.com/lxg0/p/6979274.html

既不回头,何必不忘; 既然无缘,何须誓言; 今日种种,逝水无痕; 明夕何夕,君已陌路;
原文地址:https://www.cnblogs.com/zyjfire/p/7605623.html