使用docker安装
拉取镜像
docker pull nginx
创建挂载目录
cd /opt/nginx
mkdir -p /opt/nginx/conf
mkdir -p /opt/nginx/html
创建临时nginx【要用来cp里面的配置文件,用完rm就删除了】
docker run --rm --name nginx-short -p 8020:80 -d nginx
-rm:容器终止运行后,自动删除容器文件。
拷贝Nginx 配置文件到本地
docker cp nginx-short:/etc/nginx/nginx.conf /opt/nginx/conf
cat /opt/nginx/conf/nginx.conf
删除临时容器
docker stop nginx-short
这个好像不用
docker rm nginx-short
启动容器
docker run --rm -d -p 8020:80 --name nginx \
-v /opt/nginx/html:/usr/share/nginx/html \
-v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
nginx
访问
ip:8020
普通安装(linux)
安装环境
yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel
gcc:编译依赖gcc环境
pcre:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼容的正则表达式库
zlib:提供了很多种压缩和解压缩的方式,Nginx使用zlib对http包的内容进行gzip
OpenSSL:是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用
下载地址
Mainline Version:主线版,是最新版,但未经过过多的生产测试。
Stable Version:稳定版,生产环境使用版本。
Legacy Version:老版本
我们需要下载的是 Stable Version。其中又分为两种版本:Linux 版与 Windows 版。开发时这两个版本我们都下载。Linux 版用于生产环境,而 Windows 版用于开发测试,选择需要的版本进行下载
解压
tar -zxvf nginx-1.20.1.tar.gz -C /usr/local/
建立Makefile文件(编译命令 make 需要根据编译文件 makefile 进行编译)
cd /usr/local/nginx-1.20.1
mkdir -p /var/temp/nginx/client
[root@node1 Nginx-1.20.1]#
./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--with-http_ssl_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi\
--add-module=/usr/local/fastdfs-nginx-module-1.22/src/
编译安装(nginx用c语言写的,所以要编译为能运行的代码)
make && make install
安装参数详解
./configure
--prefix= 指定安装目录
--error-log-path= 错误日志的存放路径 默认 prefix/logs/error.log
--http-log-path= 设置http访问日志的路径 默认 prefix/logs/access.log
--sbin-path= 设置nginx执行脚本的位置 默认 prefix/sbin/nginx
--conf-path= 配置nginx配置文件的路径 默认 prefix/conf/nginx.conf
--pid-path= 进程运行ID存放路径 默认 pidfile的放置位置是prefix/logs/nginx.pid
--user= 设置默认启动进程的用户 默认 nobody
--group= 设置这个用户所在的用户组 默认 nobody
--with-http_ssl_module 启用SSL支持并且能够处理HTTPS请求(需要OpenSSL,在Debian系统中,对应的包为libssl-dev。)
--with-http_image_filter_module 用于图片剪切(系统还要安装GD library支持)
--with-stream 用于转发socket的模块
--with-mail 邮件服务器扩展
--with-debug debug日志和error log有所不同
启动
cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf
-v : 打印版本号
-t:测试配置正确性并退出,会显示核心配置文件路径
-q:测试配置时只显示错误
-s:向主进程发送信号
-p:指定Nginx服务器路径前缀
-c: 指定Nginx配置文件路径(来启动Nginx)
查看是否启动
ps -ef | grep nginx
快速关闭
cd /usr/local/nginx/sbin
./nginx -s stop
等待工作进程处理完成后关闭
cd /usr/local/nginx/sbin
./nginx -s quit
重启
cd /usr/local/nginx/sbin
./nginx -s reopen
向主进程发送信号,重新加载配置文件,热重启
cd /usr/local/nginx/sbin
./nginx -s reload