最早在云服务器上部署的时候就是用的nginx,然后一直听说Nginx Proxy Manager 多么多么方便,我自己实际用了一下,可能是因为本地化docker部署的原因,总是有各种奇怪的问题。加上自己需求也都比较简单,就简单做个http转https,然后转发一下。
我是将所有docker容器都放在/home/xxx/docker文件夹下面,xxx是你自己的用户名。
然后新建一个nginx的文件夹用于保存nginx相关的文件,挂载到容器里面,这样方便我们和容器交互,不然每次更新东西都需要进入容器里面来弄。
mkdir /home/xxx/docker/nginx
cd /home/xxx/docker/nginx
mkdir ssl
mkdir html
mkdir config
然后需要先在/home/xxx/docker/nginx/config 下创建一个nginx.conf文件,以后需要修改nginx相关的设置都在这里面修改。
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_max_body_size 500m;
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;
#################
#################
include /etc/nginx/conf.d/*.conf;
}
命令行下运行以下命令即可~
docker run -d \
--restart=always \
-p 30080:80 \ #30080可以改成自己指定的http端口
-p 30443:443 \ #30443可以改成自己指定的http端口
-v /home/xxx/docker/nginx/config/nginx.conf:/etc/nginx/nginx.conf \
-v /home/xxx/docker/nginx/html:/usr/share/nginx/html \
-v /home/xxx/docker/nginx/ssl:/ssl \
--name nginx \
nginx:alpine