文章目录

  • 一键部署LAMP和LNMP架构
    • 一、安装包下载
    • 二、脚本详细
    • 三、等待安装结束即可浏览器访问验证

一键部署LAMP和LNMP架构

一、安装包下载

链接:https://pan.baidu.com/s/1rfJl51YKMPlVMI1YIRZ0eg
提取码:gf99

下载安装包和脚本放至/opt目录下,使用source执行脚本

二、脚本详细

install.tool.sh脚本

echo "============================================="
echo "1)安装LAMP架构web服务器。"
echo "2)安装LNMP架构web服务器。"
read -p "请输入你的选择:" option
if [ $option -eq 1 ] ; thensource install.httpd.shcd /optsource install.mysql.shcd /optsource install.php.shcd /optsource install.discuz.sh
else source install.Nginx.shcd /optsource install.mysql.shcd /optsource install.php.shcd /optsource install.discuz.sh
fi
clear
echo "============================================="
echo "安装完毕!"

install.httpd.sh脚本

#!/bin/bash
#初始化
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre
#解压安装包
cd /opt
tar -zxf /opt/apr-1.6.2.tar.gz
tar -zxf /opt/apr-util-1.6.0.tar.gz
tar -jxf /opt/httpd-2.4.29.tar.bz2
mkdir /opt/httpd-2.4.29/srclib/apr
mkdir /opt/httpd-2.4.29/srclib/apr-util
mv ./apr-1.6.2/* ./httpd-2.4.29/srclib/apr
mv ./apr-util-1.6.0/* ./httpd-2.4.29/srclib/apr-util
#编译安装
cd /opt/httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
make && make install
#优化配置文件路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
sed -i '4a # chkconfig: 35 85 21' /etc/init.d/httpd
sed -i '5a # description: Apache is a World Wide Web server' /etc/init.d/httpd
chkconfig --add httpd
clear
echo "==========================================================="
read -p "请输入网站IP地址:" ip
sed -i '52c Listen '${ip}':80' /etc/httpd.conf
sed -i '197c ServerName '${ip}':80' /etc/httpd.conf
sed -i '221c DocumentRoot "/usr/local/httpd/htdocs"' /etc/httpd.conf

install.Nginx.sh脚本

#!/bin/bash
#初始化
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#创建nginx用户
useradd -M -s /sbin/nologin nginx
#解压
tar zxvf /opt/nginx-1.12.2.tar.gz
#编译安装
cd /opt/nginx-1.12.2
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_modulemake && make install
#优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/echo "[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target" >/lib/systemd/system/nginx.service#配置监听地址和域名
clear
echo "==========================================================="
read -p "请入监听端口:" ip
read -p "请输入监听域名" dname
sed -i 's/listen       80/listen      '$ip':80/' /usr/local/nginx/conf/nginx.conf
sed -i 's/server_name  localhost;/server_name  '$dname';/' /usr/local/nginx/conf/nginx.conf
sed -i 's/nobody/nginx/' /usr/local/nginx/conf/nginx.conf#配置nginx支持php
chmod 754 /lib/systemd/system/nginx.service
sed -i -e '65,71s/#//' -e '69c \\tfastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;' /usr/local/nginx/conf/nginx.conf
sed -i '69a \\t#fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;' /usr/local/nginx/conf/nginx.conf#重启服务
systemctl start nginx.service
systemctl enable nginx.service
#验证php测试页
echo "<?php
phpinfo();
?>" >/usr/local/nginx/html/index.php

install.mysql.sh脚本

#/bin/bash
#初始化
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
yum -y install ncurses ncurses-devel bison cmake
#解压安装mysql
tar zxvf /opt/mysql-5.7.17.tar.gz -C /opt
tar zxvf /opt/boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost
cd /opt/mysql-5.7.17
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
cd /opt/mysql-5.7.17
make -j3
make install
#创建用户并配置权限
useradd -M -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
#修改mysql 配置文件
echo '[client]
port = 3306
socket=/usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES' > /etc/my.cnf#更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf#设置路径环境变量echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib" >>/etc/profilesource /etc/profile#初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data#添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqldyum -y install expect/usr/bin/expect <<-EOF
spawn mysqladmin -u root -p password 123456
expect "Enter password:"
send "\r"
expect eof
EOF
cd

install.php.sh脚本

#/bin/bash
#初始化
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
yum -y install ncurses ncurses-devel bison cmake
#解压安装mysql
tar zxvf /opt/mysql-5.7.17.tar.gz -C /opt
tar zxvf /opt/boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost
cd /opt/mysql-5.7.17
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
cd /opt/mysql-5.7.17
make -j3
make install
#创建用户并配置权限
useradd -M -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
#修改mysql 配置文件
echo '[client]
port = 3306
socket=/usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES' > /etc/my.cnf#更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf#设置路径环境变量echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib" >>/etc/profilesource /etc/profile#初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data#添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqldyum -y install expect/usr/bin/expect <<-EOF
spawn mysqladmin -u root -p password 123456
expect "Enter password:"
send "\r"
expect eof
EOF
cd

install.discuz.sh脚本

#!/bin/bash
#解压文件并复制到指定路径
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/discuz
cp -r /opt/discuz/dir_SC_UTF8/upload/ /usr/local/nginx/html/bbs/#创建数据库用户
yum -y install expect
/usr/bin/expect <<-EOF
spawn mysql -u root -p123456
expect "mysql>"
send "\r"
expect "mysql>"
send "CREATE DATABASE bbs;\r"
expect "mysql>"
send "GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';\r"
expect "mysql>"
send "flush privileges;\r"
expect "mysql>"
send "quit\r"
EOF#调整论坛目录的权限
bbs="/usr/local/nginx/html/bbs/"
chmod 777 ${bbs}config/
chmod 777 ${bbs}data/
chmod 777 ${bbs}uc_client/
chmod 777 ${bbs}uc_server/
chown -R nginx ${bbs}/config/
chown -R nginx ${bbs}/data/
chown -R nginx ${bbs}/uc_client/
chown -R nginx ${bbs}/uc_server/

三、等待安装结束即可浏览器访问验证

调用install.tool.sh脚本选择需要安装的架构。

此时可访问:192.168.10.10/index.php
此时可进入浏览器安装论坛:http://192.168.10.10/bbs/install/index.php
数据库服务器:localhost
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
论坛内部页面:http://192.168.10.10/bbs/index.php
论坛后台管理员页面:http://192.168.10.10/bbs/admin.php

验证php是否配置成功

192.168.10.10/index.php

安装并登陆论坛

此时可进入浏览器安装论坛:http://192.168.10.10/bbs/install/index.php
数据库服务器:localhost
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
论坛内部页面:http://192.168.10.10/bbs/index.php
论坛后台管理员页面:http://192.168.10.10/bbs/admin.php


一键部署LAMP和LNMP架构相关推荐

  1. LAMP源码编译安装及一键部署LAMP架构

    文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...

  2. LAMP和LNMP架构(介绍)

    目录 工作原理 架构介绍 LAMP架构介绍 LNMP架构介绍 LAMP LNMP差别 工作原理 LAMP 浏览器向服务器发送http请求,服务器 (Apache) 接受请求,由于php作为Apache ...

  3. shell脚本:一键安装LAMP、LNMP脚本

    历时三天边写边测试,终于完成目前最长代码的脚本,总共253行,在2台机器安装LAMP,LNMP都顺利通过,脚本可做为生产环境使用. 脚本需要注意的地方: 1:脚本适用于centos系统6.5以上,干净 ...

  4. linux lamp架构部署,Centos7部署LAMP平台之架构之路

    部署lamp平台搭建 一.源码安装lamp 1.安装apache [root@localhost ~]# yum -y install gcc* apr-devel apr-util-devel pc ...

  5. 宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat

    免费版 专业版 企业版 近200个免费应用 网站管理 系统安全 系统监控 计划任务 文件管理 软件管理 一键部署 .... 专业版包含以下插件 宝塔系统加固 网站防篡改程序 网站监控报表 Apache ...

  6. ansible部署LAMP架构

    简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...

  7. 宝塔安装php成功无显示,宝塔面板安装 LAMP 或 LNMP 后没有成功的原因

    现在云主机越来越流行普及了,但在主机服务器上安装可视化管理还是大多人的需求,毕竟操作都直接简单:而宝塔面板作为不错的主机管理面板是现在很多朋友的首选. 大家在选择主机服务器安装宝塔面板后一般都会一键安 ...

  8. 阿里云ECS主机部署LAMP环境

    阿里云ECS主机一键部署LAMP环境 1.LAMP概念 LAMP是Linux+Apache+MySQL+Perl/PHP/Python等组成常用来搭建动态网站或者服务器的开源软件,它们本身都是独立的程 ...

  9. LNMP介绍及一键部署LNMP架构

    目录 一.LNMP 1.LNMP介绍 ①LNMP工作原理 ②LAMP工作原理 2.LAMP和LNMP的区别 3.编译安装的优点 4.各组件的主要作用 二.脚本一键部署LNMP架构 一.LNMP 1.L ...

最新文章

  1. 【JOURNAL】搭配/ IKEA Match
  2. opencv连通域去除小块面积_晋中市建成区面积排名,榆次区最大,榆社县最小,来了解一下?...
  3. 五十六、教用Python中的turtle海龟画图(上篇)
  4. Program terminated with signal 11, Segmentation fault.
  5. 海康+萤石云+云存储多少钱一个月_400万极清画质 萤石C6Wi智能家居摄像机
  6. 四则运算03(附第四周进度条)
  7. 一点感想及AIX如何快速入门到精通(转)
  8. 工具,帮助我们更高效的工作
  9. 学校后台管理系统 php,基于ssm的校园门户网站+后台管理系统
  10. PreferenceScreen 偏好显示类 的使用
  11. 51单片机+DS18B20+LCD1602显示+Proteus仿真
  12. Extjs日期控件选择计算日期差值
  13. 光遇挂_创作者与一束光的七年之约:陈星汉的Sky光遇详解
  14. 和小白一起学习V4L2采集视频
  15. Java编程笔记2:初始化和清理
  16. java宝典 pdf下载_Java面试宝典2020修订版 PDF 下载
  17. 意外险、医疗险、重疾险、寿险的主要保障功能和提示
  18. 汉字转拼音 python_python实现将汉字转换成汉语拼音的库
  19. Java使用465端口发送邮件(绕过25端口限制)
  20. Verge3D 2.12 for Blender发布

热门文章

  1. 网易云歌词解析(配合audio标签实现本地歌曲播放,歌词同步)
  2. 最适合微服务的7大编程语言
  3. 如何安装linux到u盘安装程序,教你如何把linux安装到U盘
  4. 被Win11系统恶心到了
  5. matlab yuy2转rgb,YUY2/RGB转换公式
  6. 电销行业智能化将是时代发展的必然趋势
  7. 人教版初中数学九年级上册“阅读与思考”《旋转对称》教学设计
  8. 计算机毕业设计Java考研部落系统(源码+mysql数据库+系统+lw文档)
  9. F12控制视频倍速播放
  10. 这款文言文编程语言是什么神物?