离线安装 LNMP

本文详细介绍如何在离线环境下安装配置LNMP(Linux+Nginx+MySQL+PHP)环境,包括防火墙设置、本地YUM源搭建、依赖包安装、Nginx及PHP-FPM配置、MySQL安装与初始化等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LNMP,以下配置在离线情况下,使用下载的nginx包,cdrom光盘,php
源码安装nginx
前提:关闭防火墙,selinux,搭建本地yum源安装依赖包

  setenforce 0
  firewall-cmd --permanent --add-service=http
  firewall-cmd --permanent --add-service=https
  firewall-cmd --permanent --add-service=mysql
  firewall-cmd --reload
  firewall-cmd --list-all

本地yum源

 rm -f /etc/yum.repos.d/*
 mkdir /mnt/cdrom
 mount /dev/cdrom /mnt/cdrom
 vi /etc/yum.repos.d/cdrom.repo

写以下内容
[cdrom]
name=cdrom
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

18 yum makecache

yum install vim wget bash-completion
yum install -y make gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel unzip zip gd gd-devel cyrus-sasl-md5

###3上传nginx
useradd nginx
tar -zxvf nginx…
cd nginx…

./configure
–user=nginx
–group=nginx
–prefix=/etc/nginx
–sbin-path=/usr/sbin/nginx
–conf-path=/etc/nginx//conf/nginx.conf
–pid-path=/var/run/nginx.pid
–lock-path=/var/run/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–with-http_stub_status_module
–with-http_ssl_module
–with-pcre
–with-file-aio
–with-http_realip_module \

make && make install

验证:
nginx

#安装php依赖
上传php php-fpm

56 tar -zxvf php74.tar.gz
57 ls
58 cd php74
59 ls
60 yum localinstall *.rpm

修改nginx配置文件 支持php
取消关于解析php的注释:
65 location ~ .php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 fastcgi_param SCRIPT_FILENAME documentrootdocument_rootdocumentrootfastcgi_script_name;
#上面一行注意修改
70 include fastcgi_params;
71 }

cd /etc/nginx/html
vim index.php #创建一个php查询网页

<?php phpinfo(); ?>

~
重启nginx -s reload
systemctl restart php-fpm
====离线安装mysql5.7
上传php
安装依赖
yum install net-tools
卸载mariadb
yum remove mariadb*
上传mysql,解压

tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C ./mysql57/
cd mysql57
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
&& rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
&& rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm &&

rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm

systemctl start mysqld #启动mysql
grep password /var/log/mysqld.log #查看初始密码

mysql_secure_installation :修改初始密码
或者进入到mysql模式
mysql -uroot -p"上面查询到密码"
修改root密码
alter user root@localhost identified by “新密码”;
这是我的是 Root@123456
exit

=====上传wordpress
建立wordpress数据库
mysql模式
create database 数据库名;
create database wordpress;

建立数据库管理 用户,
create user “wdps_user”@localhost identified by “Root@123456”;

给上面用户管理 管理 相应数据库权限
grant all privileges on wordpress.* to “wdps_user”@localhost with grant option;

刷新,生效
flush privileges;
exit

传wordpress 解压
tar -zxvf wordpress…
cp -rf wordpress/* /etc/nginx/html
cd /etc/nginx/html/
vim wp-config.php,
添写数据库、用户名等,并写入上面的文件 安装

lanmp一键安装包是wdlinux官网2010年开始推出的lamp,lnmp,lnamp(apache,nginx,php,mysql,zend,eAccelerator,pureftpd)应用环境的快速简易安装包,执行一个脚本,整个环境就安装完成就可使用,快速,方便易用,安全稳定 1 支持lamp(linux+apache+php+mysql),lnmp(linux+nginx+php+mysql)环境快速安装部署上线 2 支持lnamp,即支持nginx+apache组合环境的应用,也即是nginx前端处理静态,图片等,apche处理后台php脚本程序。nginx在处理静态文件上有着非常好的性能和稳定性,且省节点资源,但在处理php的应用上相对没那么稳定,而apache在处理php的应用上是非常稳定的,也因此,目前比较流行的一个n+a的组合应用应运而生 3 支持lamp,lnmp,lnamp自由切换 4 同时集成最新版本的wdcp服务器/虚拟主机管理系统,wdcp (WDlinux Control Panel)是一套Linux服务器/虚拟主机管理系统,可通过web界面对服务器进行日常的管理和维护,省去通过终端输命令的烦琐操作和难度,更是降低了使用Linux做web服务器的门槛,让更多人的可以轻松使用Linux服务器。以及可以管理网站,FTP,数据库等,包括在线创建,删除,修改等操作,详细功能介绍可查看http://www.wdlinux.cn/wdcp 5 支持WdLinux定制版,CentOS,wdOS,RedHat,Ubunntu,Debian支持32,64位,更多的版本支持将在后续增加,也欢迎测试 6 源码开放并托管至github:https://github.com/wdlinux/lanmp 此次更新 1 增加对php5.3的支持,安装时可自由选择php5.2或者php5.3版本 2 增强对ubuntu系统的支持,修正在ubuntu系统下安装可能出现无法添加系统账号的bug 3 nginx升级至1.2.9,apache升级至2.2.24,mysql升级至5.1.69,pureftp升级至1.0.36 4 安装脚本大量调整和优化 5 增加debian系统的支持 部分组件的可选安装,如memcache,mysqli,pdo_mysql,innodb等 具体的安装方法可见http://www.wdlinux.cn/bbs/thread-1356-1-1.html 下载安装 wget http://dl.wdlinux.cn:5180/lanmp_v2.5.tar.gz tar zxvf lanmp_v2.5.tar.gz sh install.sh 4个可选安装,如下图 1,2,3 是安装独立的环境,不可自由切换nginx,apache,nginx+apache应用环境 4 是安装所有,即可自由切换nginx,apache,nginx+apache的应用环境 wdcp管理系统后台访问地址 http://ip:8080 默认用户密码 admin wdlinux.cn mysql默认的用户密码 root wdlinux.cn 安装说明 有比较多的朋友说在安装mysql时会“卡住”,其实不然,只不过是因为mysql的编译时间比较长,10至30分钟不等,具体看机器的硬件配置,所以请耐心等待,但有些是网络中断就真像卡住了一样,到底是不是真卡住,可以看这里的说明 http://www.wdlinux.cn/bbs/thread-65-1-1.html 相关说明 所有软件安装目录/www/wdlinux 站点配置文件 /www/wdlinux/nginx/conf/vhost /www/wdlinux/apache/conf/vhost 数据库配置文件/www/wdlinux/etc/my.cnf 数据库数据文件目录 /www/wdlinux/mysql/var 卸载或重装(注意备份数据,否则后果自负) sh in.sh un 即可卸载,并且自动重起 启动完登录后,再次运行 sh in.sh 便可重装 重装后重新打开IE,否则会有session错误提示的问题 相关软件版本 httpd-2.2.24 nginx-1.2.9 php-5.2.17/5.3.26 mysql-5.1.69 phpmyadmin-3.3.7 zend-3.3.3 eAccelerator-0.9.5.3 pure-ftpd-1.0.36
<think>我们正在处理一个在银河麒麟操作系统上离线部署LNMP环境的问题。LNMP指的是Linux、Nginx、MySQL和PHP的组合。由于是离线环境,我们需要预先下载所有必要的软件包和依赖项,然后在目标系统上进行安装。 根据提供的引用,我们可以总结出以下关键点: 1. 引用[1]提到了离线安装LNMP时可能需要安装的一些基础工具和依赖,如vim、wget、make、gcc、openssl等。 2. 引用[2]给出了麒麟系统使用阿里源的配置,但我们的场景是离线安装,所以这个引用主要提示我们可能需要处理软件源,但离线环境下我们无法使用在线源,因此需要预先下载所有依赖包。 3. 引用[3]展示了在银河麒麟下离线安装nginx-1.17.2和openssl-1.0.2n的过程,包括解压、配置、编译和安装。 因此,离线部署LNMP的步骤大致如下: 1. 准备阶段:在一台能够联网的相同操作系统的机器上,下载所有需要的软件包及其依赖,然后转移到目标机器。 2. 安装依赖:在目标机器上安装必要的系统工具和库。 3. 分别安装Nginx、MySQL、PHP:由于是离线安装,我们需要分别编译安装这些软件,或者使用预编译的包(但银河麒麟可能基于特定的Linux发行版,如Ubuntu或CentOS,需要注意兼容性)。 由于银河麒麟操作系统可能有不同的版本(如基于Ubuntu或CentOS),这里我们假设是类似于CentOS的版本(因为引用中使用了yum命令)。但请注意,银河麒麟也有基于Debian的版本,所以需要确认。不过,引用[1]和[3]都使用了yum和rpm包管理,所以我们按照CentOS-like来处理。 步骤详细说明: ### 1. 准备工作 - 在一台联网的同版本银河麒麟系统上,使用yum下载所有需要的rpm包(包括依赖)。可以使用`yum install --downloadonly --downloaddir=<目录>`命令。 - 需要下载的包包括:编译工具(make, gcc, gcc-c++等)、依赖库(zlib, openssl, pcre等)以及后续安装Nginx、MySQL、PHP所需的包。 - 同时,下载Nginx、MySQL、PHP的源代码包(因为离线安装通常选择编译安装,这样更可控,也能避免依赖问题)。 ### 2. 在目标机器上安装依赖 将下载的rpm包复制到目标机器,然后使用rpm或yum本地安装: ```bash yum localinstall *.rpm ``` ### 3. 安装Nginx 根据引用[3],安装Nginx需要先安装openssl等依赖。然后编译安装Nginx: - 解压Nginx源码包 - 进入解压目录,执行: ```bash ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/path/to/openssl/source make make install ``` ### 4. 安装MySQL MySQL可以选择下载官方编译好的二进制包,也可以从源码编译。为了简化,建议使用二进制包安装。 - 下载MySQL二进制包(如mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz) - 解压到/usr/local/mysql - 初始化数据库,设置配置文件my.cnf,启动服务 ### 5. 安装PHP - 下载PHP源代码 - 解压后进入目录,执行: ```bash ./configure --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-zlib --with-openssl --enable-mbstring --enable-fpm make make install ``` ### 6. 配置LNMP环境 - 配置Nginx支持PHP:修改nginx.conf,添加PHP解析 - 配置PHP-FPM:修改php-fpm.conf - 启动服务:Nginx和PHP-FPM 注意:由于是离线环境,所有操作都需要手动完成,包括创建用户、设置权限、配置服务启动脚本等。 考虑到步骤的复杂性,下面我们给出更详细的指南。 ## 银河麒麟离线安装LNMP部署指南 ### 前提条件 - 准备两台机器:一台可以联网(用于下载包),一台离线(目标机器)。两台机器都安装相同版本的银河麒麟操作系统。 - 确保目标机器已挂载包含所有依赖包和源码的介质(如U盘或光盘)。 ### 步骤1:在联网机器上下载所需软件和依赖 #### 1.1 安装yum-downloadonly插件(如果未安装) ```bash yum install yum-plugin-downloadonly ``` #### 1.2 创建下载目录 ```bash mkdir -p /path/to/download/dir ``` #### 1.3 下载基础工具和依赖 ```bash yum install --downloadonly --downloaddir=/path/to/download/dir vim wget bash-completion make gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel unzip zip gd gd-devel cyrus-sasl-md5 ``` #### 1.4 下载Nginx、MySQL、PHP的源码包 - Nginx: 从官网下载(如nginx-1.18.0.tar.gz) - MySQL: 从官网下载二进制包(如mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz) - PHP: 从官网下载(如php-7.4.10.tar.gz) 将源码包也放入下载目录。 ### 步骤2:将下载目录复制到目标机器 使用U盘、移动硬盘或内网传输工具将下载目录复制到目标机器。 ### 步骤3:在目标机器上安装依赖 #### 3.1 安装所有下载的rpm包 ```bash cd /path/to/download/dir yum localinstall *.rpm ``` ### 步骤4:安装Nginx #### 4.1 安装OpenSSL(如果下载的rpm包中没有包含或版本不够,需要源码安装) 参考引用[3]: ```bash tar -xvf openssl-1.0.2n.tar.gz cd openssl-1.0.2n ./config make make install ``` #### 4.2 安装Nginx ```bash tar -zxvf nginx-1.18.0.tar.gz cd nginx-1.18.0 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/path/to/openssl-1.0.2n make make install ``` #### 4.3 创建nginx用户和组 ```bash groupadd www useradd -g www www ``` #### 4.4 配置Nginx服务脚本 创建/etc/init.d/nginx文件(内容参考Nginx官方提供的脚本),并设置可执行权限。 然后设置开机启动: ```bash chkconfig --add nginx chkconfig nginx on ``` ### 步骤5:安装MySQL #### 5.1 解压MySQL二进制包 ```bash tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local cd /usr/local mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql ``` #### 5.2 创建mysql用户和组 ```bash groupadd mysql useradd -g mysql mysql ``` #### 5.3 创建数据目录并授权 ```bash mkdir -p /data/mysql chown -R mysql:mysql /data/mysql ``` #### 5.4 初始化MySQL ```bash cd /usr/local/mysql ./bin/mysqld --initialize --user=mysql --datadir=/data/mysql ``` #### 5.5 配置my.cnf 复制配置文件: ```bash cp support-files/my-default.cnf /etc/my.cnf ``` 修改/etc/my.cnf,设置datadir=/data/mysql #### 5.6 配置服务脚本 ```bash cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on ``` #### 5.7 启动MySQL ```bash service mysqld start ``` ### 步骤6:安装PHP #### 6.1 解压PHP源码 ```bash tar -zxvf php-7.4.10.tar.gz cd php-7.4.10 ``` #### 6.2 配置和编译 ```bash ./configure --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-zlib --with-openssl --enable-mbstring --enable-fpm make make install ``` #### 6.3 配置PHP 复制配置文件: ```bash cp php.ini-production /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf ``` #### 6.4 配置PHP-FPM服务脚本 使用官方提供的php-fpm服务脚本(在源码包的sapi/fpm/init.d.php-fpm),复制到/etc/init.d/php-fpm,并设置可执行权限和开机启动。 ### 步骤7:配置Nginx支持PHP 修改/usr/local/nginx/conf/nginx.conf,在server段中添加: ```nginx location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` ### 步骤8:启动服务 ```bash service nginx start service php-fpm start ``` ### 步骤9:测试 在Nginx的html目录下创建info.php,内容为: ```php <?php phpinfo(); ?> ``` 然后访问http://localhost/info.php,查看PHP信息。 ## 注意事项 - 以上步骤涉及大量手动操作,需要仔细检查路径和版本。 - 在实际操作中,可能会遇到依赖缺失,需要根据错误提示补充安装依赖(同样需要离线安装)。 - 由于银河麒麟系统的特殊性,部分依赖包名称可能有所不同,需要根据实际情况调整。 §§相关问题§§ 1. 如何解决银河麒麟离线安装LNMP时遇到的依赖问题? 2. 银河麒麟系统下如何配置防火墙以允许LNMP服务? 3. 如何优化LNMP环境以提高性能?</think>### 银河麒麟离线安装LNMP部署指南 LNMPLinux + Nginx + MySQL + PHP)是常用的Web服务环境。在银河麒麟操作系统上离线安装需提前准备所有依赖包和源码,以下是详细步骤: --- #### **一、环境准备** 1. **系统要求** - 银河麒麟V10(SP1或更新版本) - 内核版本:4.19.90或更高 - 磁盘空间:至少10GB可用空间 2. **依赖包下载**(在联网机器操作) 使用`yumdownloader`下载离线包(需提前安装`yum-utils`): ```bash # 创建依赖包目录 mkdir -p /opt/lnmp_deps # 下载核心依赖 yumdownloader --resolve --destdir=/opt/lnmp_deps \ gcc make openssl openssl-devel pcre pcre-devel zlib zlib-devel \ libxml2 libxml2-devel libpng libpng-devel libjpeg-turbo-devel \ freetype freetype-devel sqlite-devel ``` 将`/opt/lnmp_deps`目录复制到离线机器。 --- #### **二、源码包准备** 下载最新稳定版源码(版本可调整): - Nginx:1.24.0([官网](https://nginx.org/download/nginx-1.24.0.tar.gz)) - MySQL:8.0.33([官网](https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.28-x86_64.tar.xz)) - PHP:8.2.8([官网](https://www.php.net/distributions/php-8.2.8.tar.gz)) - OpenSSL:1.1.1u([官网](https://www.openssl.org/source/openssl-1.1.1u.tar.gz)) > **提示**:所有源码包需提前下载并传输到离线机器`/opt/src`目录。 --- #### **三、安装步骤** ##### 1. **安装系统依赖** ```bash cd /opt/lnmp_deps rpm -ivh *.rpm --nodeps --force # 强制安装所有依赖包 ``` ##### 2. **安装OpenSSL**(Nginx所需) ```bash cd /opt/src tar -zxvf openssl-1.1.1u.tar.gz cd openssl-1.1.1u ./config --prefix=/usr/local/openssl make && make install # 编译安装[^3] ``` ##### 3. **安装Nginx** ```bash cd /opt/src tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 # 配置编译参数(启用SSL模块) ./configure \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-openssl=/opt/src/openssl-1.1.1u \ --with-pcre \ --with-zlib make && make install ``` ##### 4. **安装MySQL** ```bash cd /opt/src tar -xvf mysql-8.0.33-linux-glibc2.28-x86_64.tar.xz mv mysql-8.0.33-linux-glibc2.28-x86_64 /usr/local/mysql # 初始化数据库 groupadd mysql useradd -r -g mysql mysql cd /usr/local/mysql mkdir -p /data/mysql chown mysql:mysql /data/mysql bin/mysqld --initialize --user=mysql --datadir=/data/mysql ``` ##### 5. **安装PHP** ```bash cd /opt/src tar -zxvf php-8.2.8.tar.gz cd php-8.2.8 ./configure \ --prefix=/usr/local/php \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --with-openssl \ --with-pdo-mysql \ --enable-fpm make && make install # 复制配置文件 cp php.ini-production /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ``` --- #### **四、配置与启动** 1. **Nginx整合PHP** 编辑`/usr/local/nginx/conf/nginx.conf`,在`server`段添加: ```nginx location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` 2. **启动服务** ```bash # 启动Nginx /usr/local/nginx/sbin/nginx # 启动PHP-FPM /usr/local/php/sbin/php-fpm # 启动MySQL /usr/local/mysql/bin/mysqld_safe --user=mysql & ``` 3. **验证安装** - 创建测试页:`echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/info.php` - 访问 `http://服务器IP/info.php` 查看PHP信息 --- #### **五、防火墙配置** ```bash # 开放80和3306端口 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=3306/tcp firewall-cmd --reload ``` --- ### 注意事项 1. **依赖兼容性**:银河麒麟基于CentOS,但部分包需手动解决依赖(如`libicu`)。 2. **SELinux**:若启用需调整策略或临时关闭:`setenforce 0`。 3. **路径问题**:所有二进制文件默认在`/usr/local/`下,需手动添加到`PATH`。 > **引用说明**: > - 依赖包安装参考麒麟系统通用方法[^1] > - OpenSSL编译步骤适用于银河麒麟[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值