天天看点

nginx之编译安装

nginx之编译安装

安装前准备

对于nginx编译安装需要先安装编译 的工具,然后再安装nginx依赖

yum -y install gcc gcc-c++ autoconf automake make      
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel      

添加www用户

添加www用户,如果没有可能会报错​

​nginx: [emerg] getpwnam(“www”) failed​

#添加www 用户
groupadd -f www
useradd -g www www      

一、下载Nginx源文件

进入​​nginx​​官网下载nginx的稳定版本,我下载的是1.16.1。

下载:wget http://nginx.org/download/nginx-1.16.1.tar.gz


解压:tar -zxvf nginx-1.10.0.tar.gz      

二、检查安装依赖项

执行下面的命令安装nginx的依赖库:

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel      

三、配置Nginx安装选项

我这安装到/usr/local/nginx目录下,其它选项可执行./configuration –help查看。

cd nginx安装目录,执行如下命令:

#带ssl stub_status模块 添加strem模块 –with-stream,这样就能传输tcp协议了
#http_stub_status_module 状态监控
#http_ssl_module 配置https
#stream 配置tcp得转发
#http_gzip_static_module 压缩
#http_sub_module 替换请求
./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream      

官网参数配置说明:​​http://nginx.org/en/docs/configure.html​​

四、编译并安装

make && make install      

五、启动、停止、重启

# 1.启动nginx
shell> nginx
# 可通过ps -ef | grep nginx查看nginx是否已启动成功
# 2.停止nginx
shell> nginx -s stop
# 3. 重新启动
shell> nginx -s reload      
nginx之编译安装

nginx默认配置启动成功后,会有两个进程,一个主进程(守护进程),一个工作进程。主进程负责管理工作进程,工作进程负责处理用户的http请求。

六、配置nginx开机启动

将/usr/bin/nginx命令添加到/etc/rc.d/rc.local文件中,rc.local文件会在系统启动的时候执行。但CentOS7建议将开机启动服务写成服务描述文件添加到系统服务中,所以rc.local默认没有执行权限,需要给它添加执行权限。

shell> vim /etc/rc.d/rc.local
# 添加如下参数
/usr/bin/nginx
 
shell> chmod +x /etc/rc.d/rc.local      
#带ssl stub_status模块 添加strem模块 –with-stream,这样就能传输tcp协议了
#http_stub_status_module 状态监控
#http_ssl_module 配置https
#stream 配置tcp得转发
#http_gzip_static_module 压缩
#http_sub_module 替换请求      

七。 重新编译

# 进入源码安装包中 , 添加编译的模块

./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx --with-http_ssl_module

#执行编译
make

# 注意: 不要执行 make install 否则覆盖安装

# 安装成功之后,会产生新的nginx文件 , 当前目录下 objs/nginx

mv /usr/bin/nginx /usr/bin/nginx_bak
cp objs/nginx /usr/bin/nginx

#平滑重启
nginx -s reload

# 查看模块是否安装
nginx -V      

继续阅读