1、安装GCC和GCC-C++
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# cd /usr/java
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# yum install gcc
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# yum install -y gcc-c++
2. 因为nginx需要依赖pcre库、zlib库、openssl库,所以需要下载这三个库以及nginx源码。
2.1 安装pcre库
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# tar -zxvf pcre-8.39.tar.gz
或者 yum install -y pcre pcre-devel
2.2 安装zlib库
这是我先下载好的包 zlib-1.2.8.tar.gz 上传
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# tar -zxvf zlib-1.2.8.tar.gz
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# cd zlib-1.2.8/
或者 yum install -y zlib zlib-devel
2.3 安装openssl库
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# tar -zxvf openssl-1.0.1c.tar.gz
或者 yum install -y openssl openssl-devel
注:也可以一起安装
yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
2.4 安装nginx 直接下载tar.gz安装包。地址:http://nginx.org/en/download.html
这是我先下载好的包 nginx-1.11.5.tar.gz 上传
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# tar -zxvf nginx-1.11.5.tar.gz
或者 wget -c http://nginx.org/download/nginx-1.16.0.tar.gz
使用命令编译nginx
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# cd nginx-1.11.5
[root@iZwz91nfqrmmcjz3ax4vqvZ nginx-1.11.5]# ./configure --prefix=/usr/java/nginx --conf-path=/usr/java/nginx/conf/nginx.conf
--pid-path=/usr/java/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/java/pcre-8.39 --with-zlib=/usr/java/zlib-1.2.8
--with-openssl=/usr/java/openssl-1.0.1c
[root@iZwz91nfqrmmcjz3ax4vqvZ nginx-1.11.5]# make
[root@iZwz91nfqrmmcjz3ax4vqvZ nginx-1.11.5]# make install
configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。
3.启动nginx
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# /usr/java/nginx/sbin/nginx
停止
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# /usr/java/nginx/sbin/nginx -s stop
重启
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# /usr/java/nginx/sbin/nginx -s reload
4. 设置防火墙
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# firewall-cmd --zone=public --add-port=80/tcp --permanent;
[root@iZwz91nfqrmmcjz3ax4vqvZ java]# firewall-cmd --reload;
5.测试
120.77.213.193 出现下面界面说明成功!
6. 设置nginx开机启动
在 /etc/init.d/ 目录下创建nginx文件 其中nginxd ,nginx_config, nginx_pid 的值根据具体目录配置,文件内容如下:
#!/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/java/nginx/conf/nginx.conf
nginxd=/usr/java/nginx/sbin/nginx
nginx_config=/usr/java/nginx/conf/nginx.conf
nginx_pid=/usr/java/nginx/logs/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 /usr/java/nginx/logs/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 所有用户可执行)
chkconfig nginx on
最后将ngix加入到rc.local文件中,这样开机的时候nginx就默认启动了
vim /etc/rc.local
添加
/etc/init.d/nginx start
:wq!
重启生效