composer常用命令列表和实践使用、服务器lnmp环境自动化部署脚本及netstat命令常用选项笔记-及state各值的意义

本文主要是介绍composer常用命令列表和实践使用、服务器lnmp环境自动化部署脚本及netstat命令常用选项笔记-及state各值的意义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、composer常用命令列表和实践使用

1. composer常用的命令列表如下:

#. composer install 命令(composer.lock与composer.json) 

如果当前目录下存在composer.lock文件,则从此文件读取依赖版本,否则就读取composer.json文件,处理依赖关系,把依赖安装到vendor目录成功后并创建composer.lock文件。composer.lock相当于一个当前使用各依赖的一个版本的缓存,防止随意修改升级带来问题。在修改了composer.json但是没有修改composer.lock的时候执行install命令会提示没有修改不需要更新,这时需要删除composer.lock文件以重新install.
composer update 升级依赖
要获取依赖的最新版本,并且升级composer.lock 文件,使用composer update命令,这时会忽略已存在的composer.lock文件,直接读取composer.json下载最新的符合条件的依赖,并更新composer.lock.

#. composer require 安装新的依赖包

composer require 命令用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。

#. composer search 搜索依赖包

composer search 命令可以搜索远程的依赖包,通常它只搜索packagist.org上的包,你可以简单的输入你的搜索条件。例如composer search monolog

#. composer show 列出可用软件包
composer show列出所有可用的软件包,你可以使用 show 命令。

#. composer config composer编辑配置
composer config 命令允许你编辑 Composer 的一些基本设置,无论是本地的 composer.json 还是全局的 config.json 文件。
语法:config [options] [setting-key] [setting-value1] ... [setting-valueN]
setting-key 是配置选项的名称,setting-value1 是配置的值。可以使用数组作为配置的值(像 github-protocols),多个 setting-value 是允许的。
例如,全局配置 Composer 的国内镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com

#. composer config --list 查看 Composer 的配置信息:

2. 命令使用示例如下:

[kermit@123 queue]$ composer show
phpmailer/phpmailer dev-master 028acee PHPMailer is a full-featured email creation and transfer class for PHP
ssdb/phpssdb        dev-master 4583553 SSDB PHP Client
[kermit@123 queue]$ somposer config --list
bash: somposer: command not found
[kermit@123 queue]$ composer config --list 
[repositories.packagist.org.type] composer
[repositories.packagist.org.url] https?://repo.packagist.org
[repositories.packagist.org.allow_ssl_downgrade] true
[process-timeout] 300
[use-include-path] false
[preferred-install] auto
[notify-on-install] true
[github-protocols] [https, ssh]
[vendor-dir] vendor (/opt//queue/vendor)
[bin-dir] {$vendor-dir}/bin (/opt//queue/vendor/bin)
[cache-dir] /home/kermit/.composer/cache
[data-dir] /home/kermit/.composer
[cache-files-dir] {$cache-dir}/files (/home/kermit/.composer/cache/files)
[cache-repo-dir] {$cache-dir}/repo (/home/kermit/.composer/cache/repo)
[cache-vcs-dir] {$cache-dir}/vcs (/home/kermit/.composer/cache/vcs)
[cache-ttl] 15552000
[cache-files-ttl] 15552000
[cache-files-maxsize] 300MiB (314572800)
[bin-compat] auto
[discard-changes] false
[autoloader-suffix] 
[sort-packages] false
[optimize-autoloader] false
[classmap-authoritative] false
[apcu-autoloader] false
[prepend-autoloader] true
[github-domains] [github.com]
[bitbucket-expose-hostname] true
[disable-tls] false
[secure-http] true
[cafile] 
[capath] 
[github-expose-hostname] true
[gitlab-domains] [gitlab.com]
[store-auths] prompt
[archive-format] tar
[archive-dir] .
[htaccess-protect] 1
[home] /home/kermit/.composer
[kermit@123 queue]$ 

二、服务器lnmp环境自动化部署脚本

    以前公司运维用来自动化服务器lnmp环境的shell脚本,这里没有mysql的,可能是我以前剪切掉了,mysql的部署也有过一篇文章,不记得是哪篇,如有需要,请在博客中进行搜索, 整个里面的路径自己去完善一下,因为公司内用的是内网的资源路径,写在这里也没有用。在我的这个小站里搜索也都能搜索到下载路径。publish:November 6, 2018 -Tuesday 自动化部署脚本如下:

#!/bin/bash
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm --import /etc/pki/rpm-gpg/RPM*yum -y install gcc gcc-c++ autoconf openssl openssl-devel perl-devel perl-ExtUtils-Embed
yum -y install autoconf* automake* zlib* libxml* ncurses ncurses-devel* libgcrypt* libtool*
yum -y install cmake bison libaio readline-devel glibc glibc-devel glib2 glib2-devel libidn libidn-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gd gd-devel mysql-devel
yum -y install libmcrypt libmcrypt-devel mcrypt mhash curl curl-devel bzip2 bzip2-devel e2fsprogs e2fsprogs-devel libevent libevent-devel re2c
yum -y install perl perl-devel perl-ExtUtils-Embed#添加www用户
/usr/sbin/groupadd www && /usr/sbin/useradd -g www www -s /sbin/nologin#pcre的下载路径自己填写
wget -c http://pathto/source/package/pcre-8.39.tar.gz
tar -zxvf pcre-8.39.tar.gz
cd pcre-*
./configure
make &&make install
cd ..#nginx的下载路径自己填写
wget -c http://pathto/source/package/nginx-1.10.1.tar.gz
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-*
./configure --user=www --group=www --prefix=/opt/modules/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_perl_module --with-pcre=../pcre-8.39  --with-debug
make && make install
cd ..#添加进自启动
/opt/modules/nginx/sbin/nginx
echo "/opt/modules/nginx/sbin/nginx" >>/etc/rc.local#php的下载路径自己填写
wget -c http://pathto/source/package/php-5.6.24.tar.gz
tar -zxvf php-5.6.24.tar.gz
cd php-5.6.24
./configure  --prefix=/opt/modules/php --with-config-file-path=/opt/modules/php/etc \
--with-libdir=lib64 --with-mysql --with-mysqli \
--with-iconv-dir --with-freetype-dir --with-jpeg-dir \
--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml \
--disable-rpath --enable-bcmath --enable-shmop \
--enable-sysvsem --enable-inline-optimization --with-curl \
--enable-mbregex --enable-mbstring --with-mcrypt \
--enable-ftp --with-gd --enable-gd-native-ttf --with-openssl \
--with-mhash --enable-pcntl --enable-sockets --with-xmlrpc \
--enable-zip --enable-soap --with-pear --with-gettext \
--enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-opcache
make && make install#php安装后的后续处理
cp php.ini-production /opt/modules/php/etc/php.ini
cd ..
cp /opt/modules/php/etc/php-fpm.conf.default /opt/modules/php/etc/php-fpm.conf
echo "/opt/modules/php/sbin/php-fpm" >>/etc/rc.local
/opt/modules/php/sbin/php-fpm#安装扩展
cd php-5.6.24/ext/pdo_mysql/
/opt/modules/php/bin/phpize
./configure --with-php-config=/opt/modules/php/bin/php-config
make && make install
cd ../../..#mongo安装,下载路径自己填写
wget http://pathto/source/package/mongo-1.6.14.tgz
tar -zxvf mongo-1.6.14.tgz
cd mongo-1.6.14
/opt/modules/php/bin/phpize
./configure --with-php-config=/opt/modules/php/bin/php-config
make && make install
cd ..#redis安装,下载路径自己填写
wget http://pathto/source/package/redis-2.2.8.tgz
tar -zxvf redis-2.2.8.tgz
cd redis-2.2.7
/opt/modules/php/bin/phpize
./configure --with-php-config=/opt/modules/php/bin/php-config
make && make install
cd ..#amqp安装,下载路径自己填写
wget http://pathto/source/package/amqp-1.7.1.tgz
tar  -zxvf amqp-1.7.1.tgz
cd amqp-1.7.1
yum install librabbitmq-devel librabbitmq
/opt/modules/php/bin/phpize
./configure --with-php-config=/opt/modules/php/bin/php-config
make && make install
cd ../../..#写入php扩展
cat >> /opt/modules/php/etc/php.ini <<EOF
extension_dir = "/opt/modules/php/lib/php/extensions/no-debug-non-zts-20131226/"
extension="mongo.so"
extension="redis.so"
extension="pdo_mysql.so"
extension="amqp.so"
EOF

 

三、netstat命令常用选项笔记-及state各值的意义

    netstat命令是一个常用的非常有用的监控TCP/IP网络的的工具,今天在使用的时候又忘了它的选项,另外之前没有发现它还有一个-c选项,我在使用的时候还刷了好几把,今天再简单整理一下,先列出netstat的全部[选项] 

-a或--all:显示所有连线中的Socket; 
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; 
-c或--continuous:持续列出网络状态; 
-C或--cache:显示路由器配置的快取信息; 
-e或--extend:显示网络其他相关信息; 
-F或--fib:显示FIB; 
-g或--groups:显示多重广播功能群组组员名单; 
-h或--help:在线帮助; 
-i或--interfaces:显示网络界面信息表单; 
-l或--listening:显示监控中的服务器的Socket; 
-M或--masquerade:显示伪装的网络连线; 
-n或--numeric:直接使用ip地址,而不通过域名服务器; 
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; 
-o或--timers:显示计时器; 
-p或--programs:显示正在使用Socket的程序识别码和程序名称; 
-r或--route:显示Routing Table; 
-s或--statistice:显示网络工作信息统计表; 
-t或--tcp:显示TCP传输协议的连线状况; 
-u或--udp:显示UDP传输协议的连线状况; 
-v或--verbose:显示指令执行过程; 
-V或--version:显示版本信息; 
-w或--raw:显示RAW传输协议的连线状况; 
-x或--unix:此参数的效果和指定"-A unix"参数相同; 
--ip或--inet:此参数的效果和指定"-A inet"参数相同。

        其中比较常用的组合特别说明一下,-a选项会列出所有监听状态、连接状态、等待状态等的全数据。而t、u、x是按照连接协议将这些区分开来。 

# netstat -a      #列出所有端口
# netstat -at     # 列出所有TCP端口
# netstat -au     # 列出所有UDP端口
# netstat -ax     # 列出所有UNIX端口

        和-a选项不同,使用-l只列出当前监听的状态,比如数据库3306一般只有一条监听状态,但是连接等待等其它状态会有很多。

# netstat -l      #列出所有监听的端口
# netstat -lt     # 只显示监听的TCP端口
# netstat -lu     # 只显示监听的UDP端口
# netstat -lx     # 只显示监听的UNIX端口

        通过使用的组合:

#列出所有端口包括监听状态以及所有已连接等待挂起的连接,这个适合用于统计连接数,例如:
netstat -anp 
#列出所有监听的端口,在排查某个端口被哪个应用程序占用时使用这个一目了然
netstat -lnp 

        上面两个常用的参数中的关键选项就是p选项,其能将应用PID/Program name直白地显示出来。另外-n选项直接使用ip地址,而不通过域名服务器,netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度,如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能。另外还有一个-c选项挺好用的,有时在监控的时候需要让它实时变化持续输出信息,就像top一样隔几秒更新一下一样。-c可以让netstat的数据也隔几秒进行更新。

        netstat能显示内核路由信息,使用命令:netstat -rn ,其效果和route -n 是一样的。
另外netstat能显示网络接口信息。比较好的用法是nestat -ie 其效果和ifconfig 一样。
其它显示所有端口的统计信息 netstat -s等,不过用得较少。基本常用的就是:netstat -anp , netstat -lnp 以及加-l、-t筛选监听、TCP连接两个选项。

        其它:关于netstat命令中state各值的意义

1、LISTENING状态:服务启动后首先进入侦听(LISTENING)状态(服务端的状态)。State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。
2、ESTABLISHED状态:ESTABLISHED的意思是建立连接。表示两台机器正在通信。
3、TIME_WAIT状态:TIME_WAIT的意思是结束了这次连接。说明监听的端口曾经有过访问,但访问结束了,等待处理下一个请求。
4、SYN_SENT状态:与LISTENING状态相对应,SYN_SENT是客户端的状态,从本机访问其它计算机服务时打开的源端口,SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为 ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。 

这篇关于composer常用命令列表和实践使用、服务器lnmp环境自动化部署脚本及netstat命令常用选项笔记-及state各值的意义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108972

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,