一键部署LAMP和LNMP架构
文章目录
- 一键部署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架构相关推荐
- LAMP源码编译安装及一键部署LAMP架构
文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...
- LAMP和LNMP架构(介绍)
目录 工作原理 架构介绍 LAMP架构介绍 LNMP架构介绍 LAMP LNMP差别 工作原理 LAMP 浏览器向服务器发送http请求,服务器 (Apache) 接受请求,由于php作为Apache ...
- shell脚本:一键安装LAMP、LNMP脚本
历时三天边写边测试,终于完成目前最长代码的脚本,总共253行,在2台机器安装LAMP,LNMP都顺利通过,脚本可做为生产环境使用. 脚本需要注意的地方: 1:脚本适用于centos系统6.5以上,干净 ...
- linux lamp架构部署,Centos7部署LAMP平台之架构之路
部署lamp平台搭建 一.源码安装lamp 1.安装apache [root@localhost ~]# yum -y install gcc* apr-devel apr-util-devel pc ...
- 宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat
免费版 专业版 企业版 近200个免费应用 网站管理 系统安全 系统监控 计划任务 文件管理 软件管理 一键部署 .... 专业版包含以下插件 宝塔系统加固 网站防篡改程序 网站监控报表 Apache ...
- ansible部署LAMP架构
简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...
- 宝塔安装php成功无显示,宝塔面板安装 LAMP 或 LNMP 后没有成功的原因
现在云主机越来越流行普及了,但在主机服务器上安装可视化管理还是大多人的需求,毕竟操作都直接简单:而宝塔面板作为不错的主机管理面板是现在很多朋友的首选. 大家在选择主机服务器安装宝塔面板后一般都会一键安 ...
- 阿里云ECS主机部署LAMP环境
阿里云ECS主机一键部署LAMP环境 1.LAMP概念 LAMP是Linux+Apache+MySQL+Perl/PHP/Python等组成常用来搭建动态网站或者服务器的开源软件,它们本身都是独立的程 ...
- LNMP介绍及一键部署LNMP架构
目录 一.LNMP 1.LNMP介绍 ①LNMP工作原理 ②LAMP工作原理 2.LAMP和LNMP的区别 3.编译安装的优点 4.各组件的主要作用 二.脚本一键部署LNMP架构 一.LNMP 1.L ...
最新文章
- Ubuntu下安装Apache+PHP+Mysql
- python图片-利用python进行识别相似图片(一)
- php 与时间有关的函数,php中与时间相关的常用函数有哪些
- 文献记录(part94)--Clustering and outlier detection using isoperimetric number of trees
- 网络编程(part6)--OSI七层模型及四层模型(TCP/IP)
- linux命令无视错误,llinux 的一些命令和错误
- sql中 N’ 的作用
- ASP.NET典型三层架构企业级医药行业ERP系统实战(8大模块22个子系统)
- 谷歌中文为什么以红色高亮关键字
- Python XML读写(xml.etree.ElementTree模块)(转载)
- 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (6)
- transform-style: preserve-3d「In CSS」
- JAVA栅栏密码解密程序
- HTML5开发实战之网易微博
- GIMP为证件照更换背景颜色
- Linux第7章Gdk及Cairo基础,Linux第7章Gdk及Cairo基础.ppt
- go-ipfs-api
- Lenb函数计算中文字节出错处理办法
- 开源!!!100 多个常用 API 数据接口免费分享!建议收藏!
- 机器视觉工程师的几种类型