linux下的LNMP环境搭建

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

首先了解一下LNMP这四个字母的意思:可以把四个字母分开来看:L:linux的操作系统;N:Nginx网站服务;M:mysql数据库;P:php解析环境。

本次主要能学会Nginx网站服务的基本构建;

学会构建Nginx主机;(这个和apache的网站服务的虚拟web主机类似,本次不做过多讲解)

学会部署LNMP网站服务平台

今天我准备了天空网络电影系统。所以简单的把这个点播系统部署上(http://www.skyuc.com/)

一:Nginx服务基础

        Nginx的优点:(1)稳定性;(2)系统资源消耗低;(3)并发连接的高处理能力

          1.安装及运行控制

                编译安装Nginx

                        Nginx的配置及运行需要pcre,zlib等软件包的支持,一遍提供相应的库和头文件,能确保Nginx的安装顺利完成。所以需要安装yum仓库,方便安装依赖包。

                创建运行用户和组

                        默认以nodody身份运行。建议为其建立专门的用户,能准确的控制起访问权限,增加灵活性,降低安全风险。这是Nginx网站服务的单独运行用户,不需要登录系统。

                        useradd -M -s /sbin/nologin nginx

                编译安装Nginx

                        --perfix            //指定Nginx的安装路径

                        --user              //用于指定运行的用户

                        --group             //用户指定运行的组

                        --with-http_stub_module    //启动模块以支持状态统计

                        为了是Nginx服务器的运行方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx”命令就可以调用Nginx的主程序。

                ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

        2.Nginx的运行控制

            检查配置文件

                    与apache的主程序httpd类似,Nginx的主程序也提供了“-t”选项来对配置文件进行检查,以便找出不当或错误的配置。配置文件Nginx.conf默认位于安装目录下的conf/子目录下。若要检查其他位置的配置文件,可使用“-c”选项来指定路径

                 启动.停止Nginx

                    直接运行Nginx即可启动Nginx服务器,这种方式是使用默认的配置文件,若要该用其他配置文件,需添加“-c配置文件路径”选项来指定路径。

                    通过检查Nginx程序的监听状态,或者在浏览器中访问此web服务,可以确认Nginx服务是否正常运行

                        netstat -anpt | grep nginx

                    主程Nginx支持标准的进程信号,通过kill或killall命令发送HUP信号表示重新加载配置,OUT信号表示退出进程,KILL信号表示杀死进程。

                    Nginx进程运行时,PID号默认存放在log/目录下的Nginx.pid文件中

          3.配置文件nginx.conf

                Nginx服务器的主配置文件/usr/local/nginx/conf/nginx.conf中,配置的语句格式为“关键字 值;”

                  全局配置

                        由各种配置语句组成,不使用特定的界定标记,全局配置部分包括Nginx服务的运行用户;工作进程数,错误日志,PID存放位置

                        #user nobody;                //运行用户

                        woker_processes 1;            //工作进程数量

                        #error_log logs/error.log;    //错误日志文件的位置

                        #pid logs/nginx.pid;          //PID文件位置

                  1/0事件配置

                        使用“events{}”界定标记,用来指定Nginx进程的1/0响应模型,每个进程的连接数等设置。

                        若工作进程数为8,每个进程处理4096个连接,则允许Nginx正常提供服务的连接数已超过3万多个,具体还是要看服务器的硬件,网络带宽等因素

                  HTTP配置

                        使用“http{}”界定标记,包括访问日志,HTTP端口,网页目录,默认字符集,连接保持以及后续讲解的虚拟web主机,php解析等

二:LNMP架构及应用部署

                众所周知,LAMP平台是目前应用最为广泛的网站服务器架构,其中的“A”对应这web服务软件Apache HTTP Server。随着Nginx在企业中的使用呈上升趋势,相信不久的将来LNMP架构会成为这个行业的主流,因此也受更多的Linux工程师所青昧。

            1.构建LNMP平台

                安装Mysql数据库

                        为了与Nginx,php环境保持一致,仍选择采用源代码编译的方式安装Mysql组件

                        yum -y install ncurses-devel(需要安装yum仓库,这是一个很多依赖包的软件,以便支持mysql数据库)

                        tar zxvf cmake-2.8.6.tar.gz

                        cd cmake-2.8.6

                        ./configure && gmake && gmake install(编译安装Mysql时需要用这个软件来编译,所以需要把这个软件装上)

                        tar zxvf mysql-5.5.22.tar.gz

                        cd mysql-5.5.22

                        cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 --DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install

                        安装完毕后还没有完事,还需要优化数据库,初始化数据库,启动mysql服务

             2.安装php解析环境

                            较新版本的php已经自带FPM(进程管理器)模块,用来对php解析实例进行管理,优化解析效率。需要添加“--enable-fpm”以启用此模块 

                    编译安装php

                            yum -y install gd libxm12-devel libjped-devel libpng-devel

                            tar zxvf php-5.3.28.tar.gz

                            cd php-5.3.28

                            ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --with-mbstring --enable-fpm --with-fpm --with-jpeg-dir=/usr/lib && make && make install

                     配置Nginx支持PHP环境

                            让Nginx能解析PHP网页,两种方法可以选择。其一:充当中介,将访问PHP页面的web请求转交给其他服务器去处理,其二:通过使用PHP的FPM模块来调用本机的PHP环境

                            启用php-fpm进程

                                    参考php-fpm.conf配置文件,并修改其中的PID文件,运行用户,服务数等相关设置。然后启动php-fpm程序即可(默认监听本机的9000端口号)

                                    php-fpm.conf文件中,pid配置行指出了PID信息的存放位置,对应的实际路径/usr/local/php5/var/php-rpm.pid.

                     配置Nginx至此PHP解析

                                 无论是将PHP页面交给LAMP服务器去解析,还是调用本机的php=fpm进程进行解析,都需要在“server{}”配置段中添加location设置,以便指定当访问.php网页是采取何种操作。

                                对于第一种方法(转交给其他web服务器处理),使用的配置语句如下

                                    server {

                                        ......

                                            location ~ \.php${ 

                                              proxy_pass    http://ip:80;

                                            }

                                        }

                                对于第二种方法(调用本机的php-fpm进程),使用的配置如下:

                            server {

                                ......

                                      location ~ \.php$ {

                                        root    /var/www/tanhong;

                                        fastcgi_pass    127.0.0.1:9000;

                                        fastcgi_index   index.php

                                        include    fastcgi.conf;

                                       }

                                   }

三。在LNMP平台中部署web应用

            1.下载并部署程序代码

                        天空网络电影系统是一套PHP视频点播系统,支持各种p2p流媒体软件,适合电影门户站,多媒体中心,网吧,酒店,教育等行业使用,官方网站为(http://www.skync.com)

                        将下载的程序文件解压,找到其中的wwwroot文件夹并将其放置到LNMP服务器的网站默认根目录(一般不会根据实际情况,可能网站的目录会放置在一个隐秘的位置)

                        yum -y install unzip

                        unzip SKYNC.v3.4.2.SOURCE.zip

                        cd SKYNC.v3.4.2.SOUTCE

                        mv wwwroot /usr/local/nginx/html/skync

                        cd /usr/local/nginx/html/skync

                        chown -R php:php admincp/ data/ templates/ upload    

            2.创建数据库

                    为了降低web应用程序对数据库的风险,建议设置专用的数据库及授权用户,而不是直接使用数据库的默认root用户

                        mysql -u root -p     //验证root用户的密码

                        mysql> CREATE DATABASE skyncdb;        //创建数据库

                        mysql>GRANT all ON skyncdb.* TO RUNSKYNC@localhost IDENTIFIED BY 'sky@uc123'

本文转自   宏强   51CTO博客,原文链接:http://blog.51cto.com/tanhong/1881223

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
386 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
1225 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
关系型数据库 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解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
850 23
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
339 1
Linux云服务器如何搭建LNMP环境
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
407 0
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
534 3
|
消息中间件 Java Kafka
kafka Linux环境搭建安装及命令创建队列生产消费消息
kafka Linux环境搭建安装及命令创建队列生产消费消息
496 4
|
监控 网络协议 物联网
一款轻量级的通信协议---MQTT (内含Linux环境搭建)
**MQTT协议摘要** MQTT是一种轻量级的发布/订阅型网络协议,适用于低带宽、高延迟或不可靠的网络环境,尤其适合物联网(IoT)设备。其主要特点包括: 1. **发布/订阅模型**:设备通过主题进行通信,发布者无需知道订阅者,订阅者也不需知道消息来源。 2. **轻量级**:协议头部小,减少网络负载,适合资源受限的设备。 3. **断线重连**:支持客户端在失去连接后重新连接,保持通信。 4. **服务质量级别(QoS)**:提供0(最多一次)、1(至少一次)和2(恰好一次)三种级别,保证消息传递的可靠性。
680 1
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
269 4
|
Linux Windows 虚拟化
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
【Linux环境搭建实战手册】:打造高效开发空间的秘籍