## Docker安裝LNMP環境
## 1、安裝Docker
```
yum install docker
# 啟動并加入開機啟動
sudo systemctl start docker
sudo systemctl enable docker
```
## 2、 安裝nginx
```
# 拉取管方鏡像
docker pull nginx
# 創建并運行容器,映射端口為80
docker run --name nginx -p 80:80 -d nginx
# 訪問IP,nginx能夠正常運行
```
## 3、 安裝PHP
```
# 拉取管方鏡像,這里拉取的是php7,根據自己所需拉取
docker pull phpdockerio/php7-fpm
```
## 4、 查看nginx運行路徑
```
# 進入nginx容器
docker exec -it nginx bash
# 查看nginx配置文件
cat /etc/nginx/conf.d/default.conf -n
# 找到location / {
# root /usr/share/nginx/html;#這是nginx默認運行路徑
# index index.html index.html;
# }
```
## 5、 創建并運行php容器
```
docker run --name phpfpm -d 9000:9000 -v /var/www/html:/usr/share/nginx/html -d phpdockerio/php7-fpm
```
## 6、 進入php容器,創建index2.php測試文件
```
# 進入php容器
docker exec -it phpfpm bash
# 進入運行目錄
cd /usr/share/nginx/html
# vim 創建index2.php
# 因為docker沒有安裝vim,此時運行
apt-get update
apt-get install vim
cat << EOF > /root/.vimrc
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936
:set fileencoding=gb2312
:set termencoding=utf-8
EOF
# 創建index2.php
vim index2.php
<?php
echo 1;
?>
# esc :wq 保存退出
```
## 7、 獲取到phpfpm 這個容器的ip
```
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' phpfpm
# 172.17.0.3
```
## 8、配置nginx 以便支持php文件訪問
```
docker exec -it nginx bash
# 進入nginx配置目錄
cd /etc/nginx/conf.d
# 安裝vim
apt-get update
apt-get install vim
# 編輯default.conf配置文件
vim default.conf
# 在default.conf中加入
location / {
root /usr/share/nginx/html/tp5.1/public;#不是tp的話去掉/tp5.1/public
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
root /usr/share/nginx/html/tp5.1/public;#不是tp的話去掉/tp5.1/public
fastcgi_pass 172.17.0.3:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
include fastcgi_params;
}
# 保存退出,重啟nginx
docker restart nginx
# 訪問ip/index2.php,成功
```
## 9、 拉取Mysql鏡像
```
docker pull mysql
# 創建并運行mysql容器
docker run --name mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
#這是使用navicat連接會報錯
docker exec -it mysql /bin/bash
mysql -uroot -p
#授權
GRANT ALL ON *.* TO 'root'@'%';
#刷新權限
flush privileges;
#更新加密規則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新root密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
#刷新權限
flush privileges;
```
## 10、 服務器文件放入容器中
```
docker ps #查看容器id
docker cp linux文件 容器id:容器路徑
```
```
#linux中查找php.ini
php -i | grep 'php.ini'
#docker 因配置文件出錯無法進入容器內解決辦法
#將容器配置文件復制到服務器上
1.docker cp mynginx:/etc/nginx/conf.d/default.conf /users/nginx/default.conf
#修改后再寫回容器中
2.docker cp /users/nginx/default.conf mynginx:/etc/nginx/conf.d/default.conf
```
到此這篇關于Docker簡單安裝LNMP環境(可部署TP項目)的文章就介紹到這了,更多相關Docker 安裝LNMP環境內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
```
$ wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && ./install.sh lnmp
```
https://blog.csdn.net/qq_18298493/article/details/128603733
- 空白目錄
- 使用thinkphp6搭建后端api接口流程
- tp6 uniapp vue 前后端跨域解決方案
- 操作記錄
- api00
- 你看看有沒有用
- 6666
- Docker安裝LNMP環境的詳細過程(可部署TP項目)
- LNMP部署thinkphp
- 玩客云Armbian 安裝LNMP環境 Docker
- ThinkPHP6項目基操(16.實戰部分 redis+token登錄)
- ThinkPHP6項目基操(11.實戰部分 部署后臺靜態頁面模板及后臺登錄頁面)
- ThinkPHP6項目基操(13.實戰部分 項目中的自定義異常處理總結 錯誤頁面API錯誤)
- ThinkPHP6項目基操(14.實戰部分 中間件處理登錄流程)
- ThinkPHP6項目基操(12.實戰部分 驗證碼)
- ThinkPHP6項目基操(18.實戰部分 表單令牌Token 防CSRF)
- ThinkPHP6項目基操(19.實戰部分 Mysql模型事務操作)
- ThinkPHP6項目基操(20.實戰部分 數據庫操作返回值總結)
- 瀏覽器端判斷當前設備的運行環境
- api
- api異常捕捉
- 寫一個中間件
- 統一的參數返回形式
- ThinkPHP6調用模型的方法
- thinkphp6控制器、驗證器、模型、service,各層寫的內容