How to deploy Nginx on Docker

王林
Release: 2023-05-11 18:28:18
forward
2999 people have browsed it

1. Download the Nginx image from docker

docker pull nginx
Copy after login

2. Create the mounting directory

and put the files here. Map the directory corresponding to Nginx in docker without changing it. The file has entered the container

mkdir -p /data/nginx/{conf,conf.d,html,logs}
Copy after login

3. In order to ensure the correctness of the file, it is recommended to enter the container first and copy the corresponding file.

If it is inconvenient, you can open two windows and enter one Go to the container, copy the left side to the right side, this is to ensure that the file is correct

#启动容器
docker run -itd nginx /bin/bash
#进入容器
docker attach xxxxxxxxxx
Copy after login
##Configuration filenginx.conf/data/nginx/conf/nginx.conf/etc/nginx/nginx.confConfiguration file folderconf.d folder/data/nginx/conf. d/etc/nginx/conf.dHomepage folder html pathhtml folder/data/nginx/ html/usr/share/nginx/htmlLog filelog folder/data/nginx/logs /var/log/nginx
InstructionsFileMounting pathnginx path
#This is the corresponding mounting directory. Copy the nginx.conf file and default.conf in conf.d Go to the corresponding folder and put it in, and then modify it

4. Next, just modify the default.conf file

The most I can do here is change the port number, access path, etc.

server {
 
    #端口号
    listen       80;
    #定义使用 localhost 访问
    server_name  localhost;
 
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
 
    location / {
        #根目录位置
        root   /usr/share/nginx/html;
        #index 文件位置
        index  1.html;
    }
 
    #error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
 
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
Copy after login

The 1.html used for testing here is written by myself

<html>
<head>
<title>Mynginx</title>
</head>
<body>
<h2>
欢迎使用nginx!
</h2>
</body>
</html>
Copy after login

5. Next, you can start the container

docker run  --name myNginx -d -p 8089:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d:/etc/nginx/conf.d  -v /data/nginx/logs:/var/log/nginx nginx
Copy after login

The mounting path must be correct, don’t write Wrong

-p 8089:80 Here, map port 80 to port 8089 of the host, so that the access is port 8089. There is no need to change the default port of nginx

You can take a look next Whether the container starts normally

docker ps
Copy after login

If you don’t see the container, it means there is a problem with the startup. Check whether the configuration file is written incorrectly or the mounting path is incorrect.

You can directly start it after starting it. Browser localhost:8089 I saw the 1.index page I just wrote

6. Update the configuration file without stopping nginx

When we modify the configuration file, we need to update the configuration file. At this time, open two The window is very cool

#进入容器
docker exec -it xxxxxxxxxxx /bin/bash
 
#测试配置文件是否有问题
nginx -t
 
#要是显示 successful 就可以更新了
nginx -s reload
Copy after login

The above is the detailed content of How to deploy Nginx on Docker. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!