部署LNMP环境

什么是LNMP

  • 主流的企业网站平台之一
    –L:Linux操作系统
    –N:Nginx网站服务软件
    –M:MySQL、MariaDB数据库
    –P:网站开发语言(PHP、Perl、Python)

  • Nginx(“engine x”)
    – 是一个高性能的HTTP网站服务器,同时也提供反向代理IMAP/POP3/SMTP等服务。
    –是俄罗斯人编写的十分轻量级的HTTP服务器。第一个公开版本0.10发布于2004年10月4日。
    –官方网站:http://www.nginx.org
    –Nginx中文手册:http://www.nginx.cn/index.html

源码编译安装的基本思路

0.准备工作
1)下载软件的源码包文件(nginx-17,8,2,tar.gz)
2) 建立好安装环境(gcc. gcc-c++ . make )

1.解包
# tar -xvf nginx-17.8.2.tar.gz // tar解包,释放源代码至指定位置
2.配置
# cd nginx-17.8.2.tar.gz
# ,/configure – prefix=/usr/local/nginx --with-http_ssl_module // .configure 配置,指定安装目录/功能模块
3.编译
# make // make编译,生成可执行的二进制程序文件
4.安装
# make install // make install 安装,将编译好的文件复制到安装目录

安装部署Nginx、MariaDB、PHP环境

  • LNMP在Linux系统中,源码安装nginx, mariadb-server , mariadb mariadb-devel , php php-fpm. php-mysql
  • 备注: mariadb-server (数据库服务器软件),mariadb(数据库客户端软件),mariadb-devel (其他客户端软件的依赖包), php(解释器),php-fpm(进程管理器服务),php-mysql (PHP的数据库扩展包)。
步骤一:安装软件

1)使用yum安装基础依赖包

   01 # yum -y install gcc   gcc-c++  make openssl-devel pcre-devel  

2) 源码安装Nginx

 01 #      tar -xvf  nginx-1.17.8.2.tar.gz
 02 #     cd   nginx-1.17.8.2
 03 #  ./configure     -- prefix=/usr/local/nginx    -- with-http_ssl_module 
  1. 安装MariaDB
01# yum -y  install mariadb maridb-server mariadb-devel 
  1. 安装php和php-rpm

    01# yum -y install php php-mysql php-fpm
    
步骤二:启动服务

1) 启动Nginx服务

** 注意:如果服务器上已经启动了其他监听80端口的服务软件(若httpd),则需要先关闭该服务,否则会出现冲突

01#  ststemctl stop httpd       //如果该服务存在则关闭该服务
02# /usr/local/nginx/sbin/nginx     //启动Nginx服务
03# netstat  -anutpl   |     grep        :80
  1. 启动mariaDB 服务
01#  systemctl   start mariadb 
02# systemctl status mariadb 
03# systemctl enable mariadb 
04# netstat -anutpl  | grep    :3306
  1. 启动PHP服务

    01#  systemctl start   php-fpm
    02# systemctl status php-fpm
    03# systemctl enable php-fpm
    04# netstat -anutpl | grep  :9000
    

后记:

  • netstat命令可以查看系统中启动的端口信息,该命令常用选项如下
    – a:显示所有端口信息
    –n : 以数字格式显示端口号
    –t : 显示tcp连接的端口
    –u: 显示udp连接的端口
    – l: 显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
    –p: 显示监听的服务名称是什么(也就是程序名称)
    Nginx服务器默认通过tcp 80 端口监听客户端请求
### 如何使用 Docker 部署 LNMP 环境 #### 准备工作 确保已经成功安装并启动了 Docker-ce。通过命令 `systemctl start docker` 和 `systemctl enable docker` 来开启和设置开机自启服务[^1]。 为了防止防火墙阻止容器间的通信,需清理iptables规则表中的已有数据: ```bash iptables -X iptables -F service iptables save ``` #### 创建必要的网络配置 建立一个新的 Docker 自定义桥接网络以便各个组件能够互相访问: ```bash docker network create lnmp-net ``` #### 启动 MySQL 容器实例 运行带有特定版本标签的官方 MySQL镜像来创建数据库服务器,并将其加入到之前创建好的网络中: ```bash docker run --network lnmp-net \ -d mysql:5.7.22 ``` 这里设置了环境变量MYSQL_ROOT_PASSWORD用于初始化root用户的密码[^3]。 #### 运行 Nginx Web Server 实例 同样地拉取Nginx镜像并指定挂载本地文件夹作为网站根目录以及暴露80端口给宿主机上的相应端口映射关系: ```bash docker run --name nginx-webserver \ -v /path/to/html:/usr/share/nginx/html \ -p 80:80 \ --network lnmp-net \ -d nginx:1.14 ``` 注意替换 `/path/to/html` 成实际存放网页的地方路径。 #### 构建 PHP-FPM 处理程序 PHP部分通常会选择php-fpm形式提供支持,在此也采用相同方式构建一个独立的服务节点并与上述两者关联起来形成完整的LNMP架构体系结构: ```bash docker run --name php-fpm-service \ -v /path/to/html:/var/www/html \ --network lnmp-net \ -d php:7.2-fpm ``` 再次强调要调整好共享卷的位置参数以匹配Web server所使用的静态资源位置。 最后一步是在浏览器地址栏里输入类似这样的URL字符串测试整个系统的连通性和功能正常与否:http://<YourServerIP>/phpmyadmin/user_password.php 如果一切顺利的话应该可以查看到先前提到的名字叫"name"的数据表格列表页面[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值