服务器学习心得


搭建lnmp环境

<h1>搭建lnmp环境</h1> <pre><code class="language-bash"># 查看docker是否安装成功 docker version # 查看docker版本 # 查看docker镜像列表 docker images</code></pre> <h2>安装nginx</h2> <pre><code class="language-bash"># 查找nginx docker search nginx # 拉取docker镜像 docker pull nginx # 查看nginx镜像 docker images | grep nginx # 创建运行容器,绑定映射端口,设置数据卷,设置每次启动docker启动nginx docker run -d --name nginx -p 80:80 --restart=always nginx # 查看nginx进程是否启动 docker ps | grep nginx # nginx容器id为:c70716cc2b09 # 查看ip地址 ip addr # 192.168.0.104 # 打开浏览器输入ip地址,看是否能正常访问,显示Welcome to nginx!</code></pre> <h2>安装php</h2> <h5>查看nginx默认访问路径</h5> <pre><code class="language-bash"># 进入nginx容器内 docker exec -it nginx bash # 查看nginx默认访问路径 cat /etc/nginx/conf.d/default.conf -n # 找到 location / { 下边root,查看默认访问路径: /usr/share/nginx/html exit</code></pre> <h5>安装php</h5> <pre><code class="language-bash"># 查找php docker search php # 拉取php镜像 docker pull phpdockerio/php73-fpm # 查看php镜像 docker images | grep php # 创建并运行php容器,设置数据卷,设置每次启动docker启动php docker run -d --name phpfpm -p 9000:9000 \ -v /usr/local/nginx/html:/usr/share/nginx/html \ --restart=always phpdockerio/php73-fpm # 查看php进程是否启动 docker ps | grep php # php容器id为: aa9b07b791d1 # 进入php容器 docker exec -it phpfpm bash # 查看容器内html目录 ls /usr/share/nginx/ exit # 进入html目录 cd /usr/local/nginx/html &amp;&amp; pwd # 创建index.php文件 vi /usr/local/nginx/html/index.php # 写入内容为 &lt;?php echo phpinfo(); # 查看ip地址 ip addr # 192.168.0.104 # 打开浏览器输入ip地址,192.168.0.104,显示404 Not Found</code></pre> <h5>解决404 Not Found问题</h5> <pre><code class="language-bash"># 获取到phpfpm 这个容器的ip docker inspect --format='{{.NetworkSettings.IPAddress}}' phpfpm # ip地址为: 172.17.0.3 # 进入nginx容器内 docker exec -it nginx bash # 安装vim apt-get update apt-get install vim # 进入nginx目录 cd /etc/nginx/conf.d/ &amp;&amp; ls vim default.conf # 让nginx支持php,加入以下代码,在location ~ \.php$ {处 location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 172.17.0.3:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } # 退出docker exit # 重启nginx docker restart nginx # 查看ip地址 ip addr # 192.168.0.104 # 打开浏览器输入ip地址,输入http://192.168.0.104/index.php,看php相关信息访问成功</code></pre> <h2>安装mysql</h2> <pre><code class="language-bash"># 查看 mysql 可用版本 docker search mysql # 或者 docker search mysql5.7 # 拉取 MySQL 镜像 docker pull mysql:5.7 # 查看镜像 docker image ls # 或者 docker image ls | grep mysql # 创建 mysql 容器,使用lnmp自定义网络 docker run -d --name mysql mysql:5.7 -p 3306:3306 \ -v /data/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --character-set-server=utf8 # 查看 mysql 是否启动 docker ps </code></pre> <h5>如果 mysql 没有启动成功</h5> <pre><code class="language-bash">docker ps -a # 查看日志 docker logs mysql # 一般在日志最后几行会显示原因,查看日志中 [Warning] 后边显示的原因 # 删除 mysql 容器 docker rm -f mysql # 再次启动 mysql 容器 docker run -d -p 3306:3306 \ -v /data/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --name mysql mysql:5.7 --character-set-server=utf8</code></pre> <h5>连接mysql</h5> <pre><code class="language-bash"># 进入mysql容器内 docker exec -it mysql bash # 连接 mysql 数据库 mysql -uroot -p123456 # 查看数据库 show databases; # 授权,目的是让数据库连接工具在外网的其他机器可以直接连接数据库 GRANT ALL ON *.* TO 'root'@'%'; # 刷新权限: flush privileges; # 退出 exit # 查看ip地址 ip addr # 192.168.0.104 # 使用数据库工具,进行连接, # 连接信息:ip:192.168.0.104,端口:3306,用户名:root,密码:123456</code></pre> <h5>设置mysql容器为自动启动</h5> <pre><code class="language-bash">docker update --restart no mysql docker restart mysql docker ps</code></pre>

页面列表

ITEM_HTML