继上一篇博客(前后端分离项目nginx搭建静态页面服务器cors做后台跨域接收前台请求),在这一篇我主要写一下在centos7虚拟机上搭建nginx代理环境
开启虚拟机并使其在后台运行再打开xshell6
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
在这里我主要使用docker来安装nginx并配置代理,所以我首先来说明一下docker 的安装,当然你可以去看一下docker菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
1.docker 的安装和卸载
---安装docker
安装依赖包y:
sudo yum install -y yum-utils
sudo yum install -y device-mapper-persistent-data
sudo yum install -y lvm2
yum安装,配置docker的yum源:
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装前可以运行以下命令查看可安装的版本:
yum list docker-ce --showduplicates | sort -r
安装最新:
sudo yum install docker-ce
指定安装:
sudo yum install docker-ce-18.03.0.ce
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
查看并启动docker
卸载docker
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
//因为属主机上的Images, containers, volumes, or customized configuration files不会自动删除,需手动删除
2.docker 下载nginx镜像并run nginx容器
#安装nginx镜像
docker pull nginx
#创建将要挂载的目录
mkdir -p /data/nginx/{conf,conf.d,html,logs}
#给/data/nginx/ 赋予读写权限
sudo chmod -R a+rw /data/nginx/
创建并配置/data/nginx/conf/nginx.conf
编辑文件命令:vim /data/nginx/conf/nginx.conf
复制内容:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
#run nginx 容器
把我们要代理的项目要放在/data/nginx/html 里等会儿需要挂载具体请看docker nginx 菜鸟教程
把你的项目放到/data/nginx/html 里 你可以使用WinSCP等其他工具
运行命令:
docker run -d -p 8082:80 --name my-nginx -v /data/nginx/html/loseweight_html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx nginx
浏览器访问