需要提前准备的环境:
- 服务器云主机装好centos/debian系统(如果没有本地主机也可以,只不过网页只能在本地访问)
- 提前装好docker
现在开始吧
一 下载nginx镜像
使用docker pull nginx
命令下载nginx镜像
下载好以后,可使用docker images
查看本地镜像
二 使用镜像制作nginx容器
以下是完整命令:
docker run -itd -p 80:80 -v /var/nginxchannel:/var/nginxchannel nginx
-i : 标准输入输出
-t:启用伪终端,也就是说你可以进入容器中的bash输入命令
-d:容器可以后台运行,也就是说容易中最后一个进程被kill之后,容器不会关闭
-p:将宿主机的80端口映射到容器的80端口,注意这个映射的顺序(事实上,也可以将宿主机的80端口映射到容器的任意端口,然后使得网站侦听这个任意端口即可,还会避免冲突,这个后面再说)
-v:将宿主机的/var/nginxchannel目录挂在到容器的/var/nginxchannel目录,注意这个映射顺序,相当于把宿主机的这个目录当做U盘插在了容器上
三 开始建网站
1 建站原理
nginx服务器对于域名和端口的侦听,全都在/etc/nginx/nginx.conf这个文本文件中。
使用cat /etc/nginx/nginx.conf
查看文件中内容,重点放在这一段:
http
{
......
}
这个大括号里面要存放下面这一块内容,即是一个个网站:
server
{
listen 80 default;
server_name (这里写你的域名或者ip可以写多个,用空格隔开);
access_log logs/default.access.log combined;//这个是你的网站访问日志存放文件
location / {
index index.html;//这个意思是,浏览器输入域名后,网页会显示网站目录下的index文件,如果没有此文件则会显示index.html文件,以此类推
root (这里写网站对应的目录);
}
知道这些后,我们只需要做两件事:
- 建好网站目录并写入index.html文件
- 修改nginx.conf
2 新建网站目录
cd 你想要的目录
mkdir www
cd www
touch index.html
3 修改nginx.conf
向index.html中写入内容,以及修改配置文件,可使用echo 内容 >> 文件
,但使用起来不方便,只能一行一行写
另外一种办法是使用vim修改文件内容,但是这个镜像并没有安装vim,需要手动安装
3 安装vim
使用以下命令
apt-get install vim
你可能会发现报错了,没有找到vim安装包
使用apt-get update
更新软件源列表即可
然后,apt-get install -y vim
安装即可(-y是为了安装过程中免确认)
安装好后
这里只讲更改配置文件
(养成好习惯,修改之前先备份,cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vim /etc/nginx/nginx.conf
)
进入配置文件
按一下i,可以看到左下角显示白色的insert
,然后就可以编辑了
点一下http块结尾的},光标移动到}之前,将复制好的server块粘贴进来,这里注意终端中的粘贴不是ctrl v
,而是shift insert
,相应的复制是ctrl insert
,修改好以后,按一下ESC,左下角insert
消失,按住shift按分号,也就是冒号,输入wq,回车,就保存并退出了。
接下来可以测试配置文件由于语法错误,nginx -t
,如果输出一行ok一行success就没问题了。
改完之后需要重启一下nginx容器:
exit
docker restart nginx(这里写你的容器名称或者ID前三位)
浏览器输入你的域名试试吧。