docker pull nginx:latest
docker run -p 80:80 --name nginx -d nginx
1、本地创建文件目录
mkdir -p /opt/docker/nginx/conf.d
mkdir -p /opt/docker/nginx/html
mkdir -p /opt/docker/nginx/logs
mkdir -p /opt/docker/nginx/conf/nginx.conf
2、拷贝nginx容器对应的文件默认配置
docker cp nginx:/etc/nginx/nginx.conf /opt/docker/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /opt/docker/nginx/
docker cp nginx:/usr/share/nginx/html /opt/docker/nginx
3、停止并删除nginx容器
docker stop nginx
docker rm nginx
docker run -p 80:80 --name nginx1 --restart=always
-v /opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /opt/docker/nginx/conf.d:/etc/nginx/conf.d
-v /opt/docker/nginx/html:/usr/share/nginx/html
-v /opt/docker/nginx/logs:/var/log/nginx
-d nginx
浏览器测试是否启动成功
出现nginx访问首页;说明成功。
接下来;我想把我申请的域名配置到nginx里;这样就能够起到保护ip地址的作用;这样看起来更像是一个完整的网站。首先;刚通过阿里云申请的域名审批通过后;需要在域名控制台下做下域名解析;解析完毕后;方可使用该域名;可以在windows环境下通过ping指令来确定是否解析成功;该域名是否可以直接访问! 解析过程;添加阿里云服务器下的公网ip地址即可!
windows环境看是否ping得通
发现可以ping通之后;我们就可以开始配置域名了! 修改nginx.conf文件, 我的域名是www.yonmei.xyz
修改/opt/docker/nginx/conf.d下的default.conf文件,加入以下配置;
server {
listen 80;
server_name www.yonmei.xyz;
location / {
proxy_set_header Host $host;
proxy_pass http://xx.xxx.xx.xx:9090;
}
}
docker stop nginx1;
docker start nginx1;
docker run -p 80:80 --name nginx1 --restart=always
-v /opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /opt/docker/nginx/conf.d:/etc/nginx/conf.d
-v /opt/docker/nginx/html:/usr/share/nginx/html
-v /opt/docker/nginx/logs:/var/log/nginx
-d nginx
localtion ^~ /sweethouse/ {
proxy_pass http://47.106.74.81:9090/;#注意这里末尾一定要加上/;因为请求时nginx会把/sweethouse/去掉之后的请求信息直接拼接。导致服务会报404.
}
nginx正则表达式使用;可以匹配请求指定静态资源或者指定请求地址;代理不同服务地址;;
https://blog.csdn.net/weixin_42303730/article/details/122963685