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

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.