使用shell脚本安装lnmp的方法步骤

以下是关于“使用Shell脚本安装LNMP的方法步骤”的完整攻略,其中包含两个示例说明。

1. 前言

LNMP是一种常用的Web服务器架构,包括Linux、Nginx、MySQL和PHP。本攻略将介绍使用Shell脚本安装LNMP的方法步骤,包括安装Nginx、MySQL和PHP等,并提供两个示例说明。

2. 安装Nginx

以下是安装Nginx的步骤:

  1. 下载Nginx源码包:

bash
wget http://nginx.org/download/nginx-1.18.0.tar.gz

  1. 解压源码包:

bash
tar -zxvf nginx-1.18.0.tar.gz

  1. 进入解压后的目录:

bash
cd nginx-1.18.0

  1. 配置编译选项:

bash
./configure --prefix=/usr/local/nginx --with-http_ssl_module

  1. 编译并安装:

bash
make && make install

  1. 启动Nginx:

bash
/usr/local/nginx/sbin/nginx

  1. 验证Nginx是否安装成功:

在浏览器中输入服务器IP地址,如果出现“Welcome to nginx!”的页面,则表示Nginx安装成功。

3. 安装MySQL

以下是安装MySQL的步骤:

  1. 下载MySQL源码包:

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

  1. 解压源码包:

bash
tar -zxvf mysql-8.0.25.tar.gz

  1. 进入解压后的目录:

bash
cd mysql-8.0.25

  1. 配置编译选项:

bash
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci

  1. 编译并安装:

bash
make && make install

  1. 初始化MySQL:

bash
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  1. 启动MySQL:

bash
/usr/local/mysql/bin/mysqld_safe --user=mysql &

  1. 验证MySQL是否安装成功:

bash
/usr/local/mysql/bin/mysql -uroot -p

如果成功登录MySQL,则表示MySQL安装成功。

4. 安装PHP

以下是安装PHP的步骤:

  1. 下载PHP源码包:

bash
wget https://www.php.net/distributions/php-7.4.20.tar.gz

  1. 解压源码包:

bash
tar -zxvf php-7.4.20.tar.gz

  1. 进入解压后的目录:

bash
cd php-7.4.20

  1. 配置编译选项:

bash
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype --with-jpeg --with-png --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-cdb --with-mcrypt --with-openssl --with-mhash --enable-mbregex --enable-mbstring --with-pic --enable-gd --with-xpm-dir --with-webp-dir --with-gettext --enable-zip --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-opcache --enable-maintainer-zts --with-pear

  1. 编译并安装:

bash
make && make install

  1. 配置PHP:

bash
cp php.ini-development /usr/local/php/etc/php.ini

  1. 启动PHP-FPM:

bash
/usr/local/php/sbin/php-fpm

  1. 验证PHP是否安装成功:

在Nginx的配置文件中添加以下内容:

nginx
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}

然后在/usr/local/nginx/html目录下创建一个名为index.php的文件,内容如下:

```php

```

在浏览器中输入服务器IP地址,如果出现PHP信息页面,则表示PHP安装成功。

5. 示例说明

以下是两个使用Shell脚本安装LNMP的示例:

5.1 示例一:安装LNMP

以下是一个安装LNMP的示例:

#!/bin/bash

# 安装Nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make && make install

# 安装MySQL
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25.tar.gz
tar -zxvf mysql-8.0.25.tar.gz
cd mysql-8.0.25
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci
make && make install
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysqld_safe --user=mysql &

# 安装PHP
wget https://www.php.net/distributions/php-7.4.20.tar.gz
tar -zxvf php-7.4.20.tar.gz
cd php-7.4.20
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype --with-jpeg --with-png --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-cdb --with-mcrypt --with-openssl --with-mhash --enable-mbregex --enable-mbstring --with-pic --enable-gd --with-xpm-dir --with-webp-dir --with-gettext --enable-zip --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-opcache --enable-maintainer-zts --with-pear
make && make install
cp php.ini-development /usr/local/php/etc/php.ini
/usr/local/php/sbin/php-fpm

在本示例中,我们使用Shell脚本安装了LNMP。

5.2 示例二:安装LNMP(使用Docker)

以下是一个使用Docker安装LNMP的示例:

#!/bin/bash

# 安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# 安装Nginx
docker run -d --name nginx -p 80:80 nginx

# 安装MySQL
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

# 安装PHP
docker run -d --name php --link mysql:mysql -p 9000:9000 -v /usr/local/nginx/html:/var/www/html php:fpm

在本示例中,我们使用Docker安装了LNMP。

6. 总结

本攻略介绍了使用Shell脚本安装LNMP的方法步骤,包括安装Nginx、MySQL和PHP等,并提供了两个示例说明。学习本攻略,可以更好地掌握使用Shell脚本安装LNMP的方法步骤,提高工作效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用shell脚本安装lnmp的方法步骤 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • linux bash shell中case语句的实例

    以下是关于“linux bash shell中case语句的实例”的完整攻略,其中包含两个示例说明。 1. 前言 在Linux Bash Shell编程中,case语句是一种常用的条件语句,可以根据不同的条件执行不同的操作。本攻略将介绍case语句的用法,并提供多个实例说明。 2. 基本用法 case语句的基本用法如下所示: case 变量 in 模式1) …

    Shell 2023年5月16日
    00
  • linux shell 管道命令(pipe)使用及与shell重定向区别

    以下是关于“Linux Shell 管道命令(pipe)使用及与 Shell 重定向区别”的完整攻略,其中包含两个示例说明。 1. 前言 在 Linux Shell 中,管道命令(pipe)和重定向(redirection)是非常常用的命令。本攻略将介绍如何使用管道命令和重定向,并讨论它们之间的区别。 2. 管道命令 管道命令是一种将一个命令的输出作为另一个…

    Shell 2023年5月16日
    00
  • Shell脚本实现自动输入密码登录服务器

    以下是关于“Shell脚本实现自动输入密码登录服务器”的完整攻略,其中包含两个示例说明。 1. 前言 在日常工作中,我们经常需要登录到远程服务器进行操作。如果服务器的密码比较复杂,每次登录都需要手动输入密码,会浪费很多时间。本攻略将详细讲解如何使用Shell脚本实现自动输入密码登录服务器,提高工作效率。 2. 实现自动输入密码登录服务器的方法 实现自动输入密…

    Shell 2023年5月16日
    00
  • 详解linux下批量替换文件内容的三种方法(perl,sed,shell)

    以下是关于“详解Linux下批量替换文件内容的三种方法(Perl、sed、shell)”的完整攻略,其中包含两个示例说明。 1. 前言 在Linux系统中,有时需要批量替换文件内容,例如将某个目录下的所有文件中的某个字符串替换为另一个字符串。本攻略将详细讲解三种常用的批量替换文件内容的方法,包括Perl、sed和shell脚本,帮助读者更好地管理Linux系…

    Shell 2023年5月16日
    00
  • shell脚本按当前日期输出日志的实现

    以下是关于“shell脚本按当前日期输出日志的实现”的完整攻略,其中包含两个示例说明。 1. 前言 在 Linux 系统中,我们可以使用 shell 脚本来实现按当前日期输出日志的功能。本攻略将详细介绍如何实现这一功能。 2. 实现方法 要实现按当前日期输出日志的功能,我们可以使用以下步骤: 获取当前日期,并将其格式化为指定的格式。 将日志信息写入日志文件中…

    Shell 2023年5月16日
    00
  • Shell脚本传参数方法总结

    以下是关于“Shell脚本传参数方法总结”的完整攻略,其中包含两个示例说明。 1. Shell脚本传参数方法总结 在 Shell 脚本中,我们可以通过多种方式传递参数,以便在脚本中使用这些参数。以下是 Shell 脚本传参数的几种常见方法: 方法1:使用位置参数 在 Shell 脚本中,我们可以使用位置参数来传递参数。位置参数是指在执行脚本时,通过命令行传递…

    Shell 2023年5月16日
    00
  • linux shell 逻辑运算符、逻辑表达式详细介绍

    以下是关于“Linux Shell逻辑运算符、逻辑表达式详细介绍”的完整攻略,其中包含两个示例说明。 1. 前言 在Linux Shell中,逻辑运算符和逻辑表达式是非常重要的概念。本攻略将详细介绍逻辑运算符和逻辑表达式的用法和示例。 2. 逻辑运算符 在Linux Shell中,常用的逻辑运算符有三种:AND运算符(&&)、OR运算符(||…

    Shell 2023年5月16日
    00
  • shell脚本学习指南[四](Arnold Robbins & Nelson H.F. Beebe著)

    以下是关于“shell脚本学习指南四”的完整攻略,其中包含两个示例说明。 1. 前言 《shell脚本学习指南》是一本经典的shell脚本学习教材,由Arnold Robbins和Nelson H.F. Beebe合著。本攻略将介绍该书的主要内容,帮助你更好地学习shell脚本编程。 2. shell脚本学习指南 《shell脚本学习指南》主要介绍了shel…

    Shell 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部