CentOS7编译安装nginx1.16

官网下载:

http://nginx.org/en/download.html

yum安装依赖项

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 为添加的第三方模块

#成功后会提示如下图所示,提示了所有安装的命令和配置文件以及日志等存放的路径

 

CentOS7编译安装nginx1.16_第1张图片

编译:输入make命令生成二进制文件

make

 

CentOS7编译安装nginx1.16_第2张图片

编译后安装:输入make install,把相关文件拷贝到对应的目录中

make install

 

CentOS7编译安装nginx1.16_第3张图片

启动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

 

创建服务(可使用systemctl管理nginx服务)

创建服务之前先测试系统是否有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

 

 

你可能感兴趣的:(zhongjianjian)