LAMP & LNMP及简单环境搭建

简介: 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;
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
颠覆传统:Geo老师于磊揭秘企业获客提效300%的AI时代新策略
在AI搜索时代,传统SEO已难以为继。Geo老师——于磊,15年数字营销专家,提出生成式引擎优化(GEO)新范式,主张通过结构化数据、语义设计与E-E-A-T权威性建设,让企业内容成为AI答案的直接来源。其倡导的“人性化Geo”理念,拒绝黑帽操作,聚焦用户价值,助力企业实现零点击转化、获客成本降低60%以上,重构AI时代的获客逻辑。
144 0
颠覆传统:Geo老师于磊揭秘企业获客提效300%的AI时代新策略
|
敏捷开发 监控 数据可视化
2024年敏捷项目管理工具使用排行榜:哪些工具适合大型团队?
随着敏捷方法的普及,2024年的敏捷项目管理工具市场更加多样化,从团队协作到任务追踪,功能日益丰富。本文将评测六款热门工具:板栗看板、Wrike、Smartsheet、TeamGantt、Targetprocess和Airtable,分析其功能亮点、适用行业及优缺点,助力企业选择最适合的工具。
2024年敏捷项目管理工具使用排行榜:哪些工具适合大型团队?
|
人工智能
LongAlign:港大推出的提升文本到图像扩散模型处理长文本对齐方法
LongAlign是由香港大学研究团队推出的文本到图像扩散模型的改进方法,旨在提升长文本输入的对齐精度。通过段级编码技术和分解偏好优化,LongAlign显著提高了模型在长文本对齐任务上的性能,超越了现有的先进模型。
186 1
LongAlign:港大推出的提升文本到图像扩散模型处理长文本对齐方法
|
机器学习/深度学习
基于RBF-PID控制器的风力发电系统simulink建模与仿真
本研究基于MATLAB2022a,使用Simulink对风力发电系统进行了建模与仿真,旨在对比PID与RBF-PID控制器的性能。RBF-PID控制器通过引入径向基函数神经网络,实现了PID参数的在线自适应调整,显著提升了对非线性风电系统的控制效果。仿真结果显示,相较于传统PID,RBF-PID能更有效地应对系统不确定性和参数变化,提高系统的鲁棒性和稳定性。
|
监控 网络协议 算法
OSPF故障排除技巧
OSPF故障排除技巧
271 2
|
JavaScript 前端开发 索引
JavaScript ES6及后续版本:新增的常用特性与亮点解析
JavaScript ES6及后续版本:新增的常用特性与亮点解析
490 4
|
搜索推荐
ChatGPT高效提问—prompt实践(教师助手)
ChatGPT高效提问—prompt实践(教师助手)
242 1
在有限的数据量下,如何通过正则化技术或dropout来减轻过拟合风险
在有限的数据量下,如何通过正则化技术或dropout来减轻过拟合风险
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
386 3
|
机器学习/深度学习 人工智能 自然语言处理
互联网时代呼唤‘新中文‘的崛起 - 谈谈象形文字在如今分词方法下面临的挑战
本文探讨了汉字在互联网和大模型时代的挑战与机遇,分析了汉字在创造新词、自然语言处理等方面的局限性,并提出了“新中文”概念,包括二维部首组合法、拼音化与语调简化等创新方法,旨在保留汉字文化精髓的同时,提升其在数字时代的适应性和处理效率。
488 0