分类 教程 下的文章

Shell基本命令学习

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
​Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

1:编写shell脚本
vi test.sh#!/bin/bash #指定这个脚本需要什么解释器来执行echo "Hello World !" # echo命令用于向窗口输出文本
2:执行shell脚本
cd入文件存在的目录chmod +x ./test.sh #使脚本具有执行的权限./test.sh #执行脚本
3:Shell变量的理解
例子: your_name="wangzhi.cn"注意:变量名和等号之间不能有空格规则:(1).首字母必须为字母(a-z,A-Z)(2).中间不能有空格,可以使用(_)(3).不能使用标点符号(4).不能使用bash中的关键字(可以使用help命令查看保留关键字)例子:for file in ls /etc 这个语句可以将/etc下目录的文件名循环出来
4:变量的使用
定义变量:your_name = "wangzhi"使用变量:echo ${your_name} # 建议输出变量加上{},养成好的编程习惯.</pre><div style="box-sizing: border-box; font-family: &quot;Microsoft Yahei&quot;, Helvetica, Arial, sans-serif; font-size: 14pt; color: white; background-color: black; border-left: 10px solid red; padding-left: 14px; margin-bottom: 20px; margin-top: 20px; user-select: text !important;"><strong style="box-sizing: border-box; user-select: text !important;">5:Shell字符串(注意注意:下标是从0开始计算的)</strong></div><pre style="box-sizing: border-box; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 13px; white-space: pre-wrap; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; word-wrap: break-word; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-radius: 4px; user-select: text !important;">单引号:str = &#39;This is a string&#39; (限制:单引号中的任何字符都会原样输出,单引号中无法输出变量;单引号中不能出现单引号)双引号:str = &quot;Hello, I know your are \&quot;${your_name}\&quot;!\n"(双引号内可以有变量;双引号内可以有转义字符)字符串拼接:your_name="qinjx"greeting="hello, "$your_name&quot; !&quot;greeting_1=&quot;hello, ${your_name} !"echo $greeting $greeting_1获取字符串长度:string="abcd"echo ${#string} #输出 4提取字符串string=&quot;alibaba is a great company&quot;echo ${string:1:4} #输出liba,字符串的下标是从0开始的查找子字符串(下标从1开始计算)string="alibaba is a great company"echo expr index &quot;$string&quot; is例如:#!/bin/bashyour_name="wangzhi"echo ${your_name}str=&#39;This is a String&#39;echo &quot;单引号字符串 :${str}" # 拼接都可以这样写,下面的写法是被误导的str2="Hello, I know you are \&quot;${your_name}\&quot;!\n&quot;echo &quot;双引号字符串 : \&quot; ${str2}\&quot;\n"greet="Hello, ${your_name} !&quot;echo &quot;字符串拼接 : \&quot; ${greet}\&quot;\n"echo "获取字符串长度 : \&quot;${#greet}\&quot;\n&quot; # 0~length-1,与java中相同echo &quot;提取字符串 : \&quot;${greet:1:4}\&quot;\n" # 下标从0开始,从1开始计算4个echo "查找子字符串 : \n"echo expr index &quot;${greet} hello&quot; # 下标是从1开始计算的
6:Shell数组(可以存放各种数据类型,下标从0开始)
定义:${数组名[下标]} 例如: valuen = ${array_name[n]}使用@符号可以获取数组中的所有元素,例如:echo ${array_name[@]}获取数组长度:# 取得数组元素的个数length=${#array_name[@]}# 或者length=${#array_name[*]}# 取得数组单个元素的长度lengthn=${#array_name[n]}

 

文章内容参考:https://www.cnblogs.com/wadmwz/p/8811019.html

Centos7/Redhat7 默认firewalld防火墙使用命令

CentOS7默认的firewalld防火墙说实话真不好用,不如使用iptables。SO,博主目前还是喜欢使用CentOS6系列。

毕竟,新的版本在不断更新,目前大多VPS服务器厂商也开始不再提供旧版本的镜像了。万事万物都是有它存在的道理,比如在高级功能方面iptables就要次于firewalld防火墙。所以为了跟得上脚步,博主也开始来学习新的东西。顺便就来水这一篇博文了,做个记录。

  • 基本操作
 # systemctl start firewalld //启动 # systemctl status firewalld //状态 # systemctl disable firewalld //禁用 # systemctl stop firewalld //停止

systemctl是CentOS 7中最重要的一个管理工具,包含了service和chkconfig所有功能,关于这个工具命令,以后有机会再给大家介绍吧。

 # systemctl start firewalld.service //启动某个服务 # systemctl stop firewalld.service //关闭某个服务 # systemctl restart firewalld.service //重启某个服务 # systemctl status firewalld.service //显示某个服务的状态 # systemctl enable firewalld.service //开机时随机自启动 # systemctl disable firewalld.service //禁止开机启动 # systemctl is-enabled firewalld.service //查看是否开机启动 # systemctl list-unit-files|grep enabled //查看已经启动的服列表 # systemctl --failed //查看启动失败的服务列表
  • 基本配置命令firewalld-cmd
 # firewall-cmd --version //查看防火墙版本 # firewall-cmd --help //查看命令操作帮助 # firewall-cmd --state //显示当前状态 # firewall-cmd --zone=public --list-ports //查看所有打开运行的端口 # firewall-cmd --reload //不重启立即加载 # firewall-cmd --list-all-zones | more //查看区域信息情况 # firewall-cmd --get-zone-of-interface=eth0 //查看指定接口所属区域 # firewall-cmd --panic-on //拒绝所有包 # firewall-cmd --panic-off //取消拒绝状态 # firewall-cmd --query-panic //查看是否拒绝

举例,如何打开3306端口 

 # firewall-cmd --zone=public --add-port=3306/tcp --permanent //添加3306端口(--permanent)永久生效,没有此参数重启后失效 # firewall-cmd --reload //不重启立即加载 # firewall-cmd --zone= public --query-port=3306/tcp //查看加入3306端口状态 # firewall-cmd --zone= public --remove-port=3306/tcp --permanent //删除刚刚加入的防火墙规则3306 # firewall-cmd --permanent --remove-icmp-block=echo-request //删除禁ping # firewall-cmd --permanent --add-icmp-block=echo-request //开启禁ping # firewall-cmd --get-service //查看已被允许的信息

更多规则管理可以使用help查看

 # firewall-cmd --help

相关资料:

https://fedoraproject.org/wiki/FirewallD/zh-cn
https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html
https://www.ibm.com/developerworks/cn/linux/1507_caojh/

 

 

OneinStack一键建站环境工具:新增 全自动无人值守安装模式

  • 一、工具介绍

在上一篇文章《OneinStack - 一键 Apache/Nginx/PHP/JAVA 建站环境安装脚本 支持 SSL》 中,我们介绍了OneinStack这个建站工具,是一个非错不错的工具。但是安装过程中需要每一步、一次次重复的手动选择是否安装各种环境和组件。相对而言比较繁琐。

刚又去看了下,才发现OneinStack作者又出一个全自动无人值守安装模式,这就比较方便了,一次输入命令即可。

PS:其实是之前没仔细看,才没发现出的这个新模式。233333... SO,就来补充一发了。

下面是官方最新更新日志:

2018-04-21

新增无人值守安装模式,参考:https://oneinstack.com/auto
新增MySQL8.0、Tomcat9、JDK9
新增oneinstack脚本升级./upgrade.sh oneinstack
软件版本更新至最新稳定

  • 二、自动安装模式

地址:https://oneinstack.com/auto 

方法就比较简单了,其实就是将之前的安装过程中要选择的环境、组件之类的这一个过程,简化并提前选择好,直接开始自动运行。

作者根据不同建站需求,设定了几个默认的方案:lnmp、lamp、lnmpa、lnmt、lnmh以及 自定义

自定义安装

自定义,顾名思义,就是根据你自身的需求,自行选择需要的环境和组件来进行安装。

在页面上勾选好apache、nginx建站环境、mysql、php以及所需的对应版本、Pure-FTPd、和各种组件等,设置好密码,就好在页面下方显示出对应命令。登录你的VPS服务器,复制这些命令,回车安装即可,全程无需值守。等待自动安装完成。

  • 三、总结

OneinStack工具,目前看来比较方便的,各种软件的版本也提供的比较多,更新也比较快的。

更多详细使用,请自行到官网选择安装测试。

OneinStack - 一键Apache/Nginx/PHP/JAVA建站环境安装脚本 支持SSL

官网地址:https://oneinstack.com

 

OneinStack包含以下组合

  • lnmp(Linux + Nginx+ MySQL/MongoDB+ PHP)
  • lamp(Linux + Apache+ MySQL/MongoDB+ PHP)
  • lnmpa(Linux + Nginx+ MySQL/MongoDB+ PHP+ Apache):Nginx处理静态,Apache(mod_php)处理动态PHP
  • lnmt(Linux + Nginx+ MySQL/MongoDB+ Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA
  • lnpp(Linux + Nginx+ PostgreSQL+ PHP)
  • lapp(Linux + Apache+ PostgreSQL+ PHP)
  • lnmh(Linux + Nginx+ MySQL+ HHVM)

支持系统版本

  • CentOS 6~7(包括redhat)
  • Debian 6~9
  • Ubuntu 12~16
  • Aliyun Linux 15.1

特性

  • 持续不断更新,支持交互、无人值守安装
  • 源码编译安装,大多数源码是最新stable版,并从官方网址下载
  • 提供多个数据库版本(MySQL-8.0, MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.7, Percona-5.6, Percona-5.5,AliSQL-5.6,PostgreSQL, MongoDB)
  • 提供多个PHP版本(PHP-7.2,PHP-7.1,PHP-7.0,PHP-5.6, PHP-5.5,PHP-5.4,PHP-5.3)
  • 提供Nginx、Tengine、OpenResty
  • 提供多个Apache版本(Apache-2.4,Apache-2.2)
  • 提供多个Tomcat版本(Tomcat-9,Tomcat-8,Tomcat-7,Tomcat-6)
  • 提供多个JDK版本(JDK-9,JDK-1.8,JDK-1.7,JDK-1.6)
  • 根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。及php加解密工具ionCube、ZendGuardLoader
  • 根据自己需求安装Pureftpd、phpMyAdmin
  • 根据自己需求安装Memcached、Redis
  • jemalloc优化MySQL、Nginx
  • 提供添加虚拟主机脚本
  • 提供Nginx/Tengine/OpenResty/Apache、PHP、Redis、phpMyAdmin升级脚本
  • 提供本地备、远程(服务器之间rsync)、阿里云OSS、腾讯云COS和又拍云备份脚本
  • 提供CentOS 6、7下HHVM安装

开源软件版本

# Web # DB # PHP
nginx_ver=1.14.0 mysql57_ver=5.7.22 php72_ver=7.2.4
tengine_ver=2.2.2 mysql56_ver=5.6.40 php71_ver=7.1.16
openresty_ver=1.13.6.1 mysql55_ver=5.5.60 php70_ver=7.0.29
apache24_ver=2.4.33 mariadb102_ver=10.2.14 php56_ver=5.6.35
apache22_ver=2.2.34 mariadb101_ver=10.1.32 php55_ver=5.5.38
tomcat9_ver=9.0.7 mariadb100_ver=10.0.34 php54_ver=5.4.45
tomcat8_ver=8.5.30 mariadb55_ver=5.5.59 php53_ver=5.3.29
tomcat7_ver=7.0.86 percona57_ver=5.7.21-20  # JDK
tomcat6_ver=6.0.53 percona56_ver=5.6.39-83.1 jdk9_ver=9.0.4
    jdk18_ver=1.8.0_172
  alisql56_ver=5.6.32-8 jdk17_ver=1.7.0_80
  pgsql_ver=10.3 jdk16_ver=1.6.0_45
  mongodb_ver=3.6.3  
# phpMyAdmin # Jemalloc # Pure-FTPd
phpmyadmin_ver=4.8.0 jemalloc_ver=5.0.1 pureftpd_ver=1.0.47
phpmyadmin_oldver=4.4.15.10    
# Redis # Memcached  
redis_ver=4.0.9 memcached_ver=1.5.7

安装步骤

yum -y install wget screen curl python #for CentOS/Redhat# apt-get -y install wget screen curl python #for Debian/Ubuntuwget http://mirrors.linuxeye.com/oneinstack-full.tar.gz #包含源码,国内外均可下载tar xzf oneinstack-full.tar.gzcd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件screen -S oneinstack #如果网路出现中断,可以执行命令screen -R oneinstack重新连接安装窗口./install.sh #注:请勿sh install.sh或者bash install.sh这样执行

《安装》

如何添加附加组件?

./addons.sh

《安装》

  • 三、使用说明

如何添加虚拟主机?

./vhost.sh

《安装》

如何删除虚拟主机?

./vhost.sh del

《安装》

如何管理FTP账号?

./pureftpd_vhost.sh

《安装》

如何备份?

./backup_setup.sh # Set backup options 

《安装》

 ./backup.sh # Start backup, You can add cron jobs   # crontab -l # Examples      0 1   * cd ~/oneinstack;./backup.sh  > /dev/null 2>&1 &

如何管理服务?

Nginx/Tengine/OpenResty:

service nginx {start|stop|status|restart|reload|configtest}

MySQL/MariaDB/Percona:

service mysqld {start|stop|restart|reload|status}

PostgreSQL:

service postgresql {start|stop|restart|status}

MongoDB:

service mongod {start|stop|status|restart|reload}

PHP:

service php-fpm {start|stop|restart|reload|status}

HHVM:

service supervisord {start|stop|status|restart|reload}

:hhvm进程交给supervisord管理,了解更多请访问《Supervisor管理hhvm进程
Apache:

service httpd {start|restart|stop}

Tomcat:

service tomcat {start|stop|status|restart}

Pure-Ftpd:

service pureftpd {start|stop|restart|status}

Redis:

service redis-server {start|stop|status|restart|reload}

Memcached:

service memcached {start|stop|status|restart|reload}

如何更新版本?

./upgrade.sh

《安装》

如何卸载?

./uninstall.sh

《安装》

 

LAMP.sh一键安装包轻松搭建Apache建站环境-自动安装SSL和PHP组件

一、官方介绍

LAMP 一键安装包是一个用 Linux Shell 编写的可以为 CentOS/Debian/Ubuntu 系统的 VPS 或服务器安装 LAMP(Linux + Apache + MySQL/MariaDB/Percona + PHP) 生产环境的 Shell 程序。包含一些可选安装组件如:ionCube Loaders、XCache、OPcache、memcached、Redis、GraphicsMagick、ImageMagick、Swoole 等。同时还有一些辅助脚本如:虚拟主机管理、Apache、MySQL/MariaDB/Percona、PHP 及 PhpMyAdmin 的升级等。

为什么需要LAMP?

手动编译安装需要输入大量命令,且有可能会中途出错。
对于 Linux 新手来说,想要成功搭建建站环境,颇费周折。

LAMP 有什么优点?

LAMP 是最经典的建站环境之一,风靡世界十多年,迄今仍旧十分受中小站长的欢迎。
而本脚本只需几个简单交互,选择需要安装的包,即可一路安装,无人值守。

Github 项目主页:
https://github.com/teddysun/lamp

通过 Github 页面下载最新版:
https://github.com/teddysun/lamp/archive/master.zip

旧版本存档:
https://github.com/teddysun/lamp/archive/archive.zip

官网地址:https://lamp.sh

二、LAMP.sh安装

目前LAMP.sh提供的PHP、Apache、MysqL、MariaDB等都更新到最新版,且支持Let’s Encrypt免费证书。

安装要求

系统需求

  • 系统支持:CentOS 6+/Debian 7+/Ubuntu 12+
  • 内存要求:≥ 512MB
  • 硬盘要求:至少 5GB 以上的剩余空间
  • 服务器必须配置好 软件源 和 可连接外网
  • 必须具有系统 root 权限
  • 强烈建议使用全新系统来安装

支持组件

  • 支持 PHP 自带几乎所有组件
  • 支持 MySQL、MariaDB、Percona Server数据库
  • 支持 Redis(可选安装)
  • 支持 XCache (可选安装)
  • 支持 Swoole (可选安装)
  • 支持 Memcached (可选安装)
  • 支持 ImageMagick (可选安装)
  • 支持 GraphicsMagick (可选安装)
  • 支持 ionCube Loader (可选安装)
  • 自助升级 Apache,PHP,phpMyAdmin,MySQL/MariaDB/Percona Server至最新版本
  • 命令行新增虚拟主机(使用 lamp 命令),操作简便
  • 支持一键卸载

安装步骤

  1. 事前准备(安装 wget、screen、unzip,创建 screen 会话)

注意:双斜杠//后的内容不要复制输入

yum -y install wget screen git      // for CentOSapt-get -y install wget screen git  // for Debian/Ubuntu
  1. git clone 并赋予脚本执行权限
git clone https://github.com/teddysun/lamp.gitcd lampchmod +x *.sh
  1. 开始安装
screen -S lamp./lamp.sh

安装过程中会让你选择Apache、PHP、MysqL等版本。

相关的组件也可以一并安装。

最后看到如下提示就表示安装成功了。

三、LAMP.sh使用

虚拟主机使用

添加虚拟主机需要进入到命令工具中手动添加。命令如下:

lamp add      创建虚拟主机lamp del      删除虚拟主机lamp list     列出虚拟主机

在添加的过程中会让你绑定域名、设置好数据库账号与密码等,另外如果你要一键开启Let’s Encrypt,需要提前将域名做好DNS解析,然后在添加虚拟主机选择Let’s Encrypt证书选项。

如何升级

注意:双斜杠//后的内容不要复制输入

git pull                 // Get latest version./upgrade.sh             // Select one to upgrade./upgrade.sh apache      // Upgrade Apache./upgrade.sh db          // Upgrade MySQL/MariaDB/Percona./upgrade.sh php         // Upgrade PHP./upgrade.sh phpmyadmin  // Upgrade phpMyAdmin

如何卸载

./uninstall.sh 

程序目录

  • MySQL 安装目录: /usr/local/mysql
  • MySQL 数据库目录:/usr/local/mysql/data(默认,安装时可更改路径)
  • MariaDB 安装目录: /usr/local/mariadb
  • MariaDB 数据库目录:/usr/local/mariadb/data(默认,安装时可更改路径)
  • Percona 安装目录: /usr/local/percona
  • Percona 数据库目录:/usr/local/percona/data(默认,安装时可更改路径)
  • PHP 安装目录: /usr/local/php
  • Apache 安装目录: /usr/local/apache

命令一览

  • MySQL 或 MariaDB 或 Percona 命令
/etc/init.d/mysqld (start|stop|restart|status)
  • Apache 命令
/etc/init.d/httpd (start|stop|restart|status)
  • Memcached 命令(可选安装)
/etc/init.d/memcached (start|stop|restart|status)
  • Redis 命令(可选安装)
/etc/init.d/redis-server (start|stop|restart|status)

网站根目录

默认的网站根目录: /data/www/default

四、总结

OneinStackLNMP.org这两个脚本相比,LAMP.sh专注于提供Apache建站脚本,并且作者一直在将Apache、PHP和MysqL等最新版本和特性添加进去,基本上可以满足大家对于Apache建站和LAMP的需要。

 

部分内容参考转载自:挖站否

 


Warning: in_array() expects parameter 2 to be array, null given in /www/users/HK1590886/WEB/usr/plugins/TopLamuLeimu/Plugin.php on line 85