一、准备工作
上传nginx压缩包到服务器
(Sheng注:我这里使用filezilla上传文件到服务器,当然你也可以直接在线安装)
1.安装环境
yum install gcc-c++ -y
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-dev
// 创建文件夹
去var目录下创建temp,temp下创建nginx作为临时目录
进入文件夹:cd /var 创建文件夹:mkdir temp进入文件夹:cd temp创建文件夹:mkdir nginx
// 进入上传的目录,解压缩
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0 // 进入文件夹
// 运行解压后的文件下的configure进行配置参数,粘贴如下配置(prefix=后面就是真实安装软件的位置)
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
上边将临时文件目录指定为/var/temp/nginx,需要在/var 下创建 temp 及 nginx 目录二、安装
2.编译安装
make
make install
至此nginx已经安装在了/usr/local目录下
3.启动nginx
cd /usr/local/nginx // 进入安装好的nginx目录
cd sbin // 进入可以运行文件目录
./nginx // 启动nginx,默认是80端口,所以需要去把80端口打开(其实默认会打开的)
vim /etc/sysconfig/iptables // 进入配置文件开启80端口
service iptables restart // 修改配置文件后重启服务
4.停止
cd /usr/local/nginx/sbin
./nginx -s quit // 停止nginx
5.重启nginx
./nginx -s quit // 先停止再重启
./nginx
// 加载配置文件(修改了nginx.conf后用下面命令)
./nginx -s reload三、开机自启动脚本
vi /etc/init.d/nginx // 该init.d文件夹下键nginx,放入下面的shell脚本shell脚本:
(Sheng注:如果报错请仔细查看报错的行,可能是回车换行没粘贴上)
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version. # chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx" # Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...." exit 1
fi
echo -n $"Starting $prog: " daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: " killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: " #kill -HUP `cat ${nginx_pid}` killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL设置文件的访问权限(把刚刚配置的脚本变成所有用户的可以执行文件)
chmod a+x /etc/init.d/nginx //(a+x ==> all user can execute 所有用户可执行)查看nginx状态等等
/etc/init.d/nginx status // 查看状态
/etc/init.d/nginx start // 启动
/etc/init.d/nginx restart // 重启加入开机自启动
加入到 rc.local 文件中(在启动时会自动启动nginx)
vi /etc/rc.local
// 配置文件中加入一行,保存并退出,下次重启会生效
/etc/init.d/nginx start