一、服务器搭建nginx
1、新建安装目录,并且到安装目录下进行解压安装
#mkdir –p /home/ops/nginx
#cd /home/ops/nginx
2、下载并且解压源码包
#wget http://nginx.org/download/nginx-1.16.1.tar.gz
#tar -zxvf nginx-1.16.1.tar.gz
3、安装依赖包
#yum -y install gcc pcre-devel openssl-devel
如果报错,先更改以下两个文件后再安装
(1)更改bin文件
#vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.7"
(2)更改提示文件
#vi /usr/libexec/urlgrabber-ext-down
将第一行#! /usr/bin/python改为#! /usr/bin/python2.7
4、开始安装
#cd nginx-1.16.1
#./configure --prefix=/home/ops/nginx --user=nginx --group=nginx --with-http_ssl_module --with-stream --with-http_stub_status_module
----------------------------------------------------------
–prefix=/home/ops/nginx 指定安装路径
-user=nginx 指定用户
–group=nginx 指定组
–with-http_ssl_module 开启SSL加密功能
–with-stream 开启TCP/UDP代理模块
–with-http_stub_status_module 开启status状态页面
以上模块看需要添加,不是必须操作
------------------------------------------------------------
# make && make install
5、创建nginx用户
useradd -s /sbin/nologin -M nginx
6.做软链接
# ln -s /home/ops/nginx/sbin/nginx /usr/bin/nginx
7、启动服务,访问测试
#cd /home/ops/nginx-1.16.1
#nginx
-----------------------------
nginx命令的用法:
nginx
nginx -s stop 停止服务
nginx -s reload 重新加载配置文件
nginx -V 查看软件信息
--------------------------------------
检查端口
#netstat -anptu | grep nginx
如果启动报错Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
错误原因:出现这种情况一般是80端口被占用
sudo fuser -k 80/tcp -- 执行此命令,将进程杀死后,启动nginx即可
二、docker搭建nginx容器
下载镜像
# docker pull nginx
查看nginx镜像
# docker images
启动创建nginx容器
#docker run -d --name eudora-nginx -p 8082:80 nginx
-d 后台运行
--name 容器命名
-p 宿主机端口:容器内部端口
进入容器
# docker exec -it nginx-eudora bash
查看容器运行状态
#docker ps
在宿主机上建挂载使用的文件夹
#mkdir -p /nginx/{conf,conf.d,html,logs}
#镜像中nginx.conf配置文件路径
/etc/nginx/nginx.conf
default.conf配置文件的路径
/etc/nginx/conf.d/default.conf
#默认首页文件夹html路径
/usr/share/nginx/html
#日志文件路径
/var/log/nginx
将刚刚在容器里看到的配置文件copy到宿主机里面
前面是容器的路径 后面是宿主机的路径 docker cp 容器id:容器配置文件目录 宿主机目录
# docker cp 26b1e48cb5d0:/etc/nginx/nginx.conf /nginx/conf/nginx.conf
# docker cp 26b1e48cb5d0:/etc/nginx/conf.d/default.conf /nginx/conf.d/default.conf
挂载(前面是宿主机路径 后面的nginx容器路径)
# docker run --name eudora-nginx -d -p 8082:80
-v /nginx/html:/usr/share/nginx/html
-v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
-v /nginx/logs:/var/log/nginx nginx
配置文件
修改配置文件
#vim /nginx/conf.d/default.conf
修改location / {
root /usr/share/nginx/html;
index index.html index.htm;
重启容器
#docker restart 容器ID
default.conf --配置文件容器地址:/etc/nginx/conf.d/
dist --源代码容器地址:/usr/share/nginx/html/
nginx镜像搭建
docker build ./ -t eudora_nginx