阿里云主机

万维景盛

万维景盛官网
绿色免安装版nginx for linux制作教程——非root用户解压即用版本

这篇文章介绍制作一个nginx绿色版本包的方法。在linux服务器解压nginx压缩包就能启动。如果需要卸载直接删除目录即可,非常方便。

制作前提

1.找一台root 用户的linux机器,一般自己搭建一个虚拟机,这里就不做过多的描述了,网上有很多教程虚拟机搭建linux系统。


开始制作

# 安装基础的依赖工具

yum -y install gcc-c++ make wget


# 下载nginx模块依赖的软件包和nginx源码包

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
wget https://zlib.net/zlib-1.2.11.tar.gz
wget http://nginx.org/download/nginx-1.16.1.tar.gz


#解压

tar -zxvf openssl-1.0.2s.tar.gz
tar -zxvf pcre-8.43.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf nginx-1.16.1.tar.gz


# 编译nginx

cd nginx-1.16.1
./configure \
   --with-openssl=../openssl-1.0.2s \
   --with-pcre=../pcre-8.43 \
   --with-zlib=../zlib-1.2.11 \
   --with-pcre-jit --user=root \
   --prefix=/root/nginx \
   --with-http_ssl_module \
   --with-http_v2_module


# 输出如下信息说明编译配置没问题

Configuration summary
  + using PCRE library: ../pcre-8.43
  + using OpenSSL library: ../openssl-1.0.2s
  + using zlib library: ../zlib-1.2.11
  nginx path prefix: "/root/nginx"
  nginx binary file: "/root/nginx/sbin/nginx"
  nginx modules path: "/root/nginx/modules"
  nginx configuration prefix: "/root/nginx/conf"
  nginx configuration file: "/root/nginx/conf/nginx.conf"
  nginx pid file: "/root/nginx/logs/nginx.pid"
  nginx error log file: "/root/nginx/logs/error.log"
  nginx http access log file: "/root/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

#编译,这里要稍等一会会。

make
make install


#完成之后进入 root 打包nginx


cd /root

tar -zxcf nginx-green.tar.gz nginx

到这里绿色免安装版的nginx for linux就制作完成了。


启动nginx

root 用户下启动


在目标主机 root 目录下 下解压nginx


#解压

tar -zxvf nginx-green.tar.gz

# 进入 启动目录

cd /root/nginx/sbin/


执行:

 ./nginx -c  /root/nginx/conf/nginx.conf


问题:在root用户下当然启动简单,但是非root 用户下呢


非root用户下启动 nginx


方案一:上面我们编译时指定的是/root/nginx 的目录,所以启动时会自动找/root/nginx 下的文件,会出现一些 错误。


所以这里,重新编译打包nginx 指定 非root用户nginx的home

例如: 用户为nginx 家目录为:/home/nginx


cd nginx-1.16.1
./configure \
   --with-openssl=../openssl-1.0.2s \
   --with-pcre=../pcre-8.43 \
   --with-zlib=../zlib-1.2.11 \
   --with-pcre-jit --user=nginx \
   --prefix=/home/nginx  \
   --with-http_ssl_module \
   --with-http_v2_module

# 编译&& 安装

make && make install

打包解压 到 /home/nginx 目录下.

执行 启动命令

nginx -c   /root/nginx/conf/nginx.conf


方案二:依然使用root 打包的nginx tar包,

解压指定 nginx 的home 目录 : /home/nginx/


tar -zxvf nginx-green.tar.gz -C /home/nginx/

启动时:进入 nginx/sbin/ 目录 启动 指定 -p


./nginx -p /home/nginx/nginx -c /home/nginx/conf/nginx.conf

总结:方案一、方案二 亲自验证过,方案一比较麻烦,需要重新编译指定prefix 目录,后面其他地方要使用nginx可以直接使用制作好的绿色版本nginx压缩包,使用方案二,解压启动即可


卸载直接删除 目录即可。


nginx 的配置方式这里就不讲解了,nginx已经是非常成熟的了,网上可以找到一大堆。


nginx 常用命令


./nginx  #打开 nginx

nginx -s reload|reopen|stop|quit  

#重新加载配置|重启|停止|退出 nginx

nginx -t   #测试配置是否有语法错误


nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]


-?,-h           : 打开帮助信息

-v              : 显示版本信息并退出

-V              : 显示版本和配置选项信息,然后退出

-t              : 检测配置文件是否有语法错误,然后退出

-q              : 在检测配置文件期间屏蔽非错误信息

-s signal       : 给一个 nginx 主进程发送信号:stop(停止), quit(退出), reopen(重启), reload(重新加载配置文件)

-p prefix       : 设置前缀路径(默认是:/usr/local/nginx/)

-c filename     : 设置配置文件(默认是:/usr/local/nginx/conf/nginx.conf)

-g directives   : 设置配置文件外的全局指令


-- 启动(不推荐):在nginx目录下有一个sbin目录,sbin目录下有一个nginx可执行程序。

./nginx


-- 启动(指定配置文件,推荐)

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


-- 关闭命令:相当于找到nginx进程kill。

./nginx -s stop


-- 退出命令:等程序执行完毕后关闭,建议使用此命令。

./nginx -s quit


-- 动态加载配置文件:可以不关闭nginx的情况下更新配置文件。

./nginx -s reload


-- 关闭 http 记录访问日志。

access_log off;

 或

access_log /dev/null;


-- 关闭 server 操作日志。

error_log /dev/null;


-- access.log日志按天输出。

-- 在server中 server_name 下 配置如下:

if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {

  set $year $1;

  set $month $2;

  set $day $3;

}

access_log logs/$year-$month-$day-access.log;

< 购物车 > 会员 客服 充值 工单
Top

客服热线

010-80253326

18610695105

客服QQ

请拨总机 010-80253326

咨询售后问题建议 提交工单