官网下载:
http://nginx.org/en/download.html
yum install gcc pcre-devel zlib-devel openssl-devel -y
#gcc是linux下的编译器
#pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用#pcre来解析正则表达式,所以需要安装pcre库
#zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip
#openssl是web安全通信的基石
配置nginx
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream
#带用户的方式
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_gzip_static_module --with-http_sub_module
#--prefix 用于指定nginx编译后的安装目录
#http_stub_status_module 状态监控
#http_ssl_module 配置https
#stream 配置tcp得转发
#http_gzip_static_module 压缩
#http_sub_module 替换请求
#--with..._module 表示启用的nginx模块,如此处启用了http_ssl_module模块
#--add-module 为添加的第三方模块
#成功后会提示如下图所示,提示了所有安装的命令和配置文件以及日志等存放的路径
编译:输入make命令生成二进制文件
make
编译后安装:输入make install,把相关文件拷贝到对应的目录中
make install
启动nginx命令:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#如果不使用如上方式启动否则会出现报错:nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
停止和热加载:
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s reload
创建服务之前先测试系统是否有killall命令,因为脚本中要用到。
-bash: killall: command not found
安装:yum install psmisc -y
vim /etc/init.d/nginx
#!/bin/bash
#
# chkconfig: - 85 15
# description: Nginx is a World Wide Web server.
# processname: nginx
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
然后将nginx加入systemd服务
chkconfig --add nginx
启动停止就可用:
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl enable nginx