六、附录-安装nginx
1、重装 ES
在安装 nginx 之前,需要重新安装一下 ES ,因为之前安装的 ES 的最大内存设置的是128M,在使用会出现各种问题,现在改成512M的,最快速的方式是删除原来的容器,然后重新创建一个。
那么之前的 ES 的数据会丢失吗?答案是不会。因为之前我在安装 ES 的时候进行了文件目录的映射,所有的数据文件都存在虚拟机之上,而不是 docker 容器之中。
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
# docker run --name elasticsearch 创建一个es容器并起一个名字;
# -p 9200:9200 将linux的9200端口映射到docker容器的9200端口,用来给es发送http请求
# -p 9300:9300 9300是es在分布式集群状态下节点之间的通信端口 \ 换行符
# -e 指定一个参数,当前es以单节点模式运行
# *注意,ES_JAVA_OPTS非常重要,指定开发时es运行时的最小和最大内存占用为64M和128M,否则就会占用全部可用内存
# -v 挂载命令,将虚拟机中的路径和docker中的路径进行关联
# -d 后台启动服务
2、安装 Nginx
-
在
/mydata
目录下新建一个nginx
目录,之后所有nginx
的安装数据都放在这里:
随便启动一个nginx 实例,只是为了复制出配置:
docker run -p 80:80 --name nginx -d nginx:1.10 #如果当前本地docker镜像中没有nginx,那么它会自动下载并创建一个并服务
- 将容器内的配置文件拷贝到当前目录:
docker container cp nginx:/etc/nginx .
别忘了后面的点
终止原容器:
docker stop nginx
-
执行命令删除原容器:
docker rm $Containerld
-
修改文件名称:
mv nginx conf
把这个 conf 移动到/mydata/nginx
下
创建新的 nginx,执行以下命令
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
- 访问 http://192.168.56.10/,可以看到 nginx 服务器已经安装成功了
因为当前 nginx 没有指定默认的页面,所以访问的时候会出现
403
错误,这是正常的
如果想要设置默认的访问页,可以在/mydata/nginx/html
目录下新建一个index.html
文件,附上代码:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>PafcMall</h1> </body> </html>
重新访问 http://192.168.56.10/:
参考: