hell脚本分享:DebianLNMP一键安装服务器套件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

DebianLNMP采用shell脚本快速安装Nginx MySQL PHP phpMyAdmin软件
该脚本适用于Debian6系统下安装LNMP服务器套件。

 

安装脚本采用的核心原理
1、通过apt-get命令安装。因此安装速度快,获取的软件是编译好的二进制文件。
2、采用最新的Debian开源软件库。脚本自动向系统添加dotdeb.gpg库key。
3、安装时自动向debian官方最快的debian CDN源获取所需的软件包,基础工具包。
4、快速update系统依赖的软件包,自动卸载与Nginx MySQL PHP组件冲突的其他工具包,保障正常安装。
5、可覆盖安装,可与官方软件库的最新稳定版本保持一致,Nginx MySQL PHP 可保持同步更新。
6、nginx默认配置一包含discuz、discuzx、sablog、wordpress、wp2、none、phpwind、supesite、typecho、uchome、dabr伪静态规则,伪静态规则直接可适用(添加新虚拟主机时用include引用,无需更改即可使用)。

总之DebianLNMP-Jimmyli.sh脚本的特色是“最快最新”一键安装包。
在Debian6系统下安装LNMP(Debian6 + Nginx1.2.x + PHP5.3.x + MySQL5.5.x 最省资源一键安装包)只需要简单两条命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/bash
#Author: Jimmy Li 
# Created by http://jimmyli.blog.51cto.com/ 
PATH= /bin : /sbin : /usr/bin : /usr/sbin : /usr/local/bin : /usr/local/sbin :~ /bin
export  PATH
cur_dir=$( pwd )
source_dir=$cur_dir /debian-lnmp
echo  "$source_dir"
echo  -e  "\033[47;30m Compiled by Jimmy Li http://jimmyli.blog.51cto.com \033[0m"
servername= "www.jimmyli.com"
echo  -e  "\033[41;37m Please enter the server domain name, the default is: $servername  < \033[0m"
echo  -e  "\033[41;37m Example: www.jimmyli.com \033[0m"
read  -p  " --Enter: "  hostname
if  "$hostname"  ""  ];  then
  hostname = "$servername"
fi
echo  ""
echo  -e  "\033[41;37m Server domain name: $hostname \033[0m"
echo  ""
get_char()
{
SAVEDSTTY=`stty -g`
stty - echo
stty cbreak
dd  if = /dev/tty  bs=1 count=1 2>  /dev/null
stty -raw
stty  echo
stty $SAVEDSTTY
}
echo  ""
echo  -e  "\033[47;30m * Press any key to start installing DebianLNMP-Jimmyli ... \033[0m"
echo  -e  "\033[47;30m * Or press Ctrl + C to cancel the installation and exit \033[0m"
char=`get_char`
echo  ""
# Check if user is root
if  [ $( id  -u) !=  "0"  ];  then
     echo  "Error: You must be root to run this script, please use root to install lnmp"
     exit  1
fi
apt-get  install  -y gcc g++  make  wget
wget -c http: //sourceforge .net /projects/debian-lnmp/files/DebianLNMP/conf . tar .gz
if  [ -s conf. tar .gz ];  then
   echo  "conf.tar.gz [found]"
   else
   echo  "Error: conf.tar.gz not found!!!download now......"
   wget -c http: //sourceforge .net /projects/debian-lnmp/files/DebianLNMP/conf . tar .gz
   exit  1
fi
tar  zxvf conf. tar .gz
if  [ -s  /etc/selinux/config  ];  then
sed  -i  's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config
fi
dpkg -l | grep  mysql |  awk  -F  " "  '{print $2}'  xargs  dpkg -P
dpkg -P libmysqlclient15off libmysqlclient15-dev mysql-common 
dpkg -l | grep  apache |  awk  -F  " "  '{print $2}'  xargs  dpkg -P
dpkg -P apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-common
dpkg -l | grep  php5 |  awk  -F  " "  '{print $2}'  xargs  dpkg -P
apt-get clean
apt-get autoclean
rm  /var/lib/apt/lists/ * -vf
apt-get check
apt-get upgrade
apt-get update
apt-get autoremove -y
apt-get -fy  install
dpkg -P mysql-server mysql-client
dpkg -P nginx php5-fpm php5-gd php5-mysql
apt-get remove -y apache2 apache2-doc apache2-utils apache2.2-common apache2.2-bin apache2-mpm-prefork apache2-doc apache2-mpm-worker mysql-client mysql-server mysql-common
apt-get update
apt-get -y  install  unzip
wget -N -t 0 http: //www .dotdeb.org /dotdeb .gpg
apt-key add dotdeb.gpg
cat  >>  /etc/apt/sources .list<<EOF
deb http: //packages .dotdeb.org oldstable all
deb-src http: //packages .dotdeb.org oldstable all
deb http: //cdn .debian.net /debian/  squeeze main
deb-src http: //cdn .debian.net /debian/  squeeze main
deb http: //cdn .debian.net /debian/  squeeze-updates main
deb-src http: //cdn .debian.net /debian/  squeeze-updates main
EOF
apt-get update
apt-get autoremove -y
apt-get -fy  install
apt-get  install  -y mysql-server mysql-client
apt-get  install  -y nginx php5-fpm php5-gd php5-mysql
sed  -i  "s#;cgi.fix_pathinfo=1#cgi.fix_pathinfo=0#g"  /etc/php5/fpm/php .ini
sed  -i  "s#disable_functions =#disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,#g"  /etc/php5/fpm/php .ini
sed  -i  's/short_open_tag = Off/short_open_tag = On/g'  /etc/php5/fpm/php .ini
sed  -i  "s#;open_basedir =#open_basedir = /tmp/:/home/www/:/proc/#g"  /etc/php5/fpm/php .ini
rm  -rf  /etc/php5/fpm/pool .d /www .conf
mv  www.conf  /etc/php5/fpm/pool .d /www .conf
rm  -rf  /home/wwwlogs
rm  -rf  /home/wwwroot
rm  -rf  /home/www
mkdir  /home/wwwlogs
mkdir  /home/wwwroot
mkdir  /home/www
mkdir  /var/run/php5
mkdir  /etc/nginx
mkdir  /etc/nginx/host
rm  -rf  /etc/nginx/sites-enabled/ *
rm  -rf  /etc/nginx/nginx .conf
rm  -rf  /etc/nginx/fastcgi_params
mv  nginx.conf  /etc/nginx/nginx .conf
mv  fastcgi_params  /etc/nginx/fastcgi_params
sed  -i  "s,lnmp.jimmyli.com,$hostname,g"  /etc/nginx/nginx .conf
mv  discuz.conf  /etc/nginx
mv  discuzx.conf  /etc/nginx
mv  sablog.conf  /etc/nginx
mv  wordpress.conf  /etc/nginx
mv  wp2.conf  /etc/nginx
mv  none.conf  /etc/nginx
mv  phpwind.conf  /etc/nginx
mv  supesite.conf  /etc/nginx
mv  typecho.conf  /etc/nginx
mv  uchome.conf  /etc/nginx
mv  dabr.conf  /etc/nginx
mv  index.html  /home/www/index .html
mv  nginx_small.png  /home/www/nginx_small .png
mv  prober.php  /home/www/php .php
wget -c http: //nchc .dl.sourceforge.net /project/phpmyadmin/phpMyAdmin/3 .4.10.1 /phpMyAdmin-3 .4.10.1-all-languages.zip
unzip phpMyAdmin-3.4.10.1-all-languages.zip
mv  phpMyAdmin-3.4.10.1-all-languages  /home/www/phpMyAdmin
rm  -rf phpMyAdmin-3.4.10.1-all-languages.zip
chown  -R www-data  /home/www
chown  -R www-data  /home/wwwroot
/etc/init .d /nginx  start
/etc/init .d /php5-fpm  start
/etc/init .d /php5-fpm  restart
## info ##
echo  ""
echo  -e  "\033[41;37m ******************************************************** \033[0m"
echo  -e  "\033[41;37m *      LNMP Installer for Debian                       * \033[0m"
echo  -e  "\033[41;37m *                                                      * \033[0m"
echo  -e  "\033[41;37m *  apt-get install Nginx+PHP+MySql                     * \033[0m"
echo  -e  "\033[41;37m *                                                      * \033[0m"
echo  -e  "\033[41;37m *  Compiled by Jimmy Li http://jimmyli.blog.51cto.com  * \033[0m"
echo  -e  "\033[41;37m *                                                      * \033[0m"
echo  -e  "\033[41;37m *  Website: http://sourceforge.net/p/debian-lnmp       * \033[0m"
echo  -e  "\033[41;37m *                                                      * \033[0m"
echo  -e  "\033[41;37m ******************************************************** \033[0m"
## END ##

 




     本文转自jimmy_lixw 51CTO博客,原文链接:http://blog.51cto.com/jimmyli/1275678,如需转载请自行联系原作者




相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
28天前
|
关系型数据库 MySQL Java
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
这篇文章介绍了在腾讯云服务器上使用Docker安装常见软件的过程,包括安装MySQL、Redis和Tomcat,并提供了解决连接问题的方法。同时,还涉及了服务器中安装JDK 1.8的步骤和如何将项目打包部署到服务器上的指导,包括注意事项和操作提示。
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
|
28天前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
16天前
|
运维 监控 数据库
自动化运维:使用Python脚本实现服务器监控
【8月更文挑战第31天】在这篇文章中,我们将探索如何利用Python编写简单的脚本来实现对服务器的基本监控。通过学习和应用这些技术,你可以快速检测服务器的状态,包括CPU使用率、内存占用和磁盘空间等关键指标。这不仅有助于及时发现问题,还能提升运维效率。文章将逐步引导你理解监控的重要性,并展示如何从零开始构建自己的监控工具。
|
24天前
|
监控 数据挖掘 Linux
Linux服务器PBS任务队列作业提交脚本的使用方法
【8月更文挑战第21天】在Linux服务器环境中,PBS任务队列能高效管理及调度计算任务。首先需理解基本概念:作业是在服务器上执行的任务;队列则是等待执行任务的列表,具有不同的资源限制与优先级;节点指分配给作业的计算资源。
|
28天前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
17 2
|
1月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
34 3
|
30天前
|
网络协议 安全 Unix
6! 用Python脚本演示TCP 服务器与客户端通信过程!
6! 用Python脚本演示TCP 服务器与客户端通信过程!
|
30天前
|
虚拟化
网工,第一次在服务器上安装AD域服务
网工,第一次在服务器上安装AD域服务
|
15天前
|
存储 运维 监控
自动化运维:使用Python脚本进行服务器监控
【8月更文挑战第31天】在数字化时代,服务器的稳定运行对于企业至关重要。本文将介绍如何使用Python编写一个简单的服务器监控脚本,帮助运维人员及时发现并解决潜在问题。我们将从基础的服务器资源监控开始,逐步深入到日志分析与报警机制的实现。通过实际代码示例和操作步骤,使读者能够快速掌握自动化监控的技能,提升工作效率。
|
28天前
|
敏捷开发 数据可视化 测试技术
阿里云云效产品使用合集之怎么在php composer安装自己服务器的代码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。