LAMP & LNMP及简单环境搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: LAMP & LNMP及简单环境搭建

LAMP & LNMP

LAMP = Linux + Apache + MySQL + PHP

LNMP = Linux + Nginx + MySQL + PHP


流行,免费,开源,轻量


Linux VS Windows: 完全免费,稳定高效

MySQL: 关系型数据库

Apache:Web服务器软件

监听端口,接收请求,解析HTTP协议,转发给PHP

Nginx 服务器软件


Apache & Nginx:前景更好,配置轻松,性能更优

Apache: select轮询机制

Nginx: epoll事件监听机制


编译安装


./configure  # 编译前准备
make         # 编译
make install # 安装

安装依赖软件

yum install -y vim wget gcc gcc++ libxml2-devel

编译安装php

1、下载

https://www.php.net/downloads.php


wget https://www.php.net/distributions/php-7.3.11.tar.gz
tar -zxvf php-7.3.11.tar.gz
cd php-7.3.11

2、编译安装

启用支持FPM FastCGI

https://www.php.net/manual/zh/install.fpm.install.php


.

/configure --prefix=/usr/local/php7 --enable-fpm
make && make install

CGI 公共网关接口,一个协议 fork子进程,处理完释放

FastCGI 语言无关,解释器子进程常驻在内存

FPM PHP扩展


$ php -r "phpinfo();"

MySQL

1、下载

https://dev.mysql.com/downloads/mysql/


source code

-> Generic Linux (Architecture Independent), Compressed TAR Archive


wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18.tar.gz

2、安装依赖


yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel

3、安装


cmake \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_DATADIR=/data/mysql/data \
 -DSYSCONFDIR=/etc \
 -DMYSQL_USER=mysql \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
 -DWITH_MEMORY_STORAGE_ENGINE=1 \
 -DWITH_READLINE=1 \
 -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
 -DMYSQL_TCP_PORT=3306 \
 -DENABLED_LOCAL_INFILE=1 \
 -DENABLE_DOWNLOADS=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DEXTRA_CHARSETS=all \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_DEBUG=0 \
 -DMYSQL_MAINTAINER_MODE=0 \
 -DWITH_SSL:STRING=bundled \
 -DWITH_ZLIB:STRING=bundled
make && make install

4、启动使用


mysqld
mysql

Apache

1、下载

http://httpd.apache.org/


依赖:apr apr-util pcre


wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.41.tar.gz
tar -zxvf  httpd-2.4.41.tar.gz
cd httpd-2.4.41

2、编译安装(配置必要的参数略)

./configure
make && make install

3、启动


apachetcl -k start

开放80端口sudo


firewall-cmd --zone=public --add-port80/tcp --permanent
systemctl restart firewalld.service

Nginx

1、下载

http://nginx.org/en/download.html


# 下载
wget  http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
# 安装 pcre url重写功能
./configure --prefix=/usr/local/nginx --with-pcre=/pcre
make && make install
# 启动
./nginx

工作方式

请求 <-> Nginx <-> PHP-FPM

配置


location ~ \.php {
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_split_path_info ^(.+?\.php)(/.*)$;
         fastcgi_param PATH_INFO $fastcgi_path_info; 
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
    }

配置php-fpm

php-fpm.conf


pm = dynamic 设置动态解析
pm.max_children = 5 最大可以启动多少进程
pm.start_servers = 2 默认启动几个进程

配置Nginx

nginx.conf

worker_processes 1; (启动多少子进程)

重启

nginx -s reload

查看进程


ps aux|grep nginx

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
关系型数据库 MySQL Linux
LAMP和LNMP区别--详解
LAMP和LNMP区别--详解
883 0
|
前端开发 Serverless 应用服务中间件
Serverless痛点解决问题之将传统 LAMP/LNMP 项目直接 FaaS 化如何解决
Serverless痛点解决问题之将传统 LAMP/LNMP 项目直接 FaaS 化如何解决
183 0
|
关系型数据库 Linux 应用服务中间件
在Linux中,什么是LAMP和LNMP堆栈?
在Linux中,什么是LAMP和LNMP堆栈?
|
tengine NoSQL 关系型数据库
ezhttp一键安装配置lnmp lamp lnamp(nginx apache php mysql)环境
ezhttp一键安装配置lnmp lamp lnamp(nginx apache php mysql)环境
233 0
ezhttp一键安装配置lnmp lamp lnamp(nginx apache php mysql)环境
|
关系型数据库 MySQL 应用服务中间件
LNMP环境搭建
LNMP环境搭建
233 0
|
弹性计算 小程序 网络协议
ECS新人用户快速完成LNMP环境搭建、域名注册、SSL证书申请
服务器新人快速上手ECS的亲身经验体会,基于阿里云ecs.t6-c1m2.large ,使用centOS操作系统。
591 0
ECS新人用户快速完成LNMP环境搭建、域名注册、SSL证书申请
|
缓存 负载均衡 关系型数据库
ECS云服务器训练营第六天----LAMP和LNMP环境搭建
LAMP 的全称是Linux + Apache + Mysql +Php; LNMP 的全称是Linux + Nginx + Mysql +Php; LAMP和LAMP的每一个字母都是每一个软件的开头第一个字母,代表一个软件名;两者最大的区别是web服务器不同;
1578 0
ECS云服务器训练营第六天----LAMP和LNMP环境搭建
|
关系型数据库 MySQL 应用服务中间件
手动部署LNMP环境(Alibaba Cloud Linux 2)
本场景带您体验如何在Alibaba Cloud Linux 2.1903 LTS 64位操作系统的云服务器上搭建LNMP环境。
|
8月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
594 23
|
9月前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
202 1
Linux云服务器如何搭建LNMP环境