
暂无个人介绍
在linux 编译,需要gcc,make,cmake,autoconf,libtool 等工具,需提前安装好。 memcached的安装包括:1、服务端的安装;2、客户端的安装 一、服务器端安装 方法一: memcached 依赖于libevent 库,因此我们需要先安装libevent. 假设将源码放在/usr/local/src cd /usr/local/src wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz tar zxvf libevent-2.0.22-stable.tar.gz cd libevent-2.0.22-stable ./configure --prefix=/usr/local/libevent make && make install 安装memcached服务器版 cd /usr/local/src wget http://www.memcached.org/files/memcached-1.4.33.tar.gz tar zxvf memcached-1.4.33.tar.gz cd memcached-1.4.33 ./configure --prefix=/usr/local/memcached \ --with-libevent=/usr/loca/libevent make && make install 启动memcached /usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -vv 显示如上说明memcached服务器端安装启动成功并把信息输出到控制台 想后台运行加-d选项 /usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -d ps aux | grep memcached 查询进程是否有memcached启动成功 方法二: yum -y install memcached 就这一步我们就安装完了 启动memcached /usr/bin/memcached -l 127.0.0.1 -p 11211 -m 150 -u root 显示如方法二启动结果 二、客户端安装 客户端需安装libmemcached库 cd /usr/local/src wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar zxvf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18 ./configure --prefix=/usr/local/libmemcached make && make install 安装php-fpm的memcached扩展 cd /usr/local/src wget http://pecl.php.net/get/memcached-2.2.0.tgz tar zxvf memcached-2.2.0.tgz cd memcached-2.2.0 到了这一步,我们要使用安装php时生成的 phpize 来生成 configure 配置文件 /usr/local/php/bin/phpize \ --with-php-config=/usr/local/php/bin/php-config ./configure --with-php-config=/usr/local/php/bin/php-config \ --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl make && make install --with-php-config 指定 php-config,该文件与 phpize 所在目录相同 --with-libmemcached-dir 指定 libmemcached 安装目录,就刚才我们 --prefix 那个目录 --disable-memcached-sasl 说明我们系统不支持sasl.h 如果安装成功,会提示:Installing shared extension:/usr/local/php/lib/extensions/no-debug-non-zts-20160524/ 等类信息 接下来,我们编辑php配置文件php.ini,把 php-memcached 扩展加到配置文件。在 php.ini 中添加以下内容: extension=memcached.so 最后重启nginx和php-fpm 重启完之后,检查是否安装完成php-memcached扩展 在nginx的web根目录下创建一个test.php文件 <?php phpinfo(); ?> 以上说明memcached的php扩展安装成功以。 php其他扩展均可根据此方法安装。
cd /opt 下载安装包解压 wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz tar -zxvf Python-3.7.3.tgz cd Python-3.7.3 安装编译相关工具 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel yum install libffi-devel -y 编译安装 mkdir /usr/local/python3 #创建编译安装目录 ./configure --prefix=/usr/local/python3 make && make install 创建软连接 ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3 验证是否成功 python3 -V pip3 -V
通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。 开启防火墙 systemctl start firewalld 查看firewalld状态 systemctl status firewalld 显示running即已开启了。 关闭防火墙设置 systemctl stop firewalld 重启防火墙 systemctl restart firewalld 使用firewall-cmd命令设置规则 1、查看状态 firewall-cmd --state 2、修改配置文件后 使用命令重新加载 firewall-cmd --reload 3、启用某个服务/端口 firewall-cmd --zone=public --add-service=https #临时 firewall-cmd --permanent --zone=public --add-service=https #永久 firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久 firewall-cmd --zone=public --add-port=8080-8081/tcp #临时 如果是要删除,直接修改成remove-service或者remove-port 3、查看开启的端口和服务 firewall-cmd --permanent --zone=public --list-services #服务空格隔开 例如 dhcpv6-client https ss firewall-cmd --permanent --zone=public --list-ports #端口空格隔开 例如 8080-8081 在每次修改 端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改。 查看防火墙状态 iptables -L 开放相应端口 yum install iptables-services vi /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT systemctl restart iptables.service systemctl enable iptables.service 二、关闭SELINUX至于为什么关闭selinux vi /etc/selinux/config #SELINUX=enforcing #SELINUXTYPE=targeted SELINUX=disabled #增加 :wq! setenforce 0 #使配置立即生效
-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必须的-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 tar -xf all.tar 这条命令是解出all.tar包中所有文件,-t是解开的意思压缩将目录里所有jpg文件打包成tar.jpg tar -cvf jpg.tar *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar -czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar -cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z tar -cZf jpg.tar.Z *.jpg rar格式的压缩,需要先下载rar for linux rar a jpg.rar *.jpg zip格式的压缩,需要先下载zip for linux zip jpg.zip *.jpg 解压解压 tar包 tar -xvf file.tar 解压tar.gz tar -xzvf file.tar.gz 解压 tar.bz2 tar -xjvf file.tar.bz2 解压tar.Z tar -xZvf file.tar.Z 解压rar unrar e file.rar 解压zip unzip file.zip 总结1、*.tar 用 tar -xvf 解压2、*.gz 用 gzip -d或者gunzip 解压3、.tar.gz和.tgz 用 tar -xzf 解压4、*.bz2 用 bzip2 -d或者用bunzip2 解压5、*.tar.bz2用tar -xjf 解压6、*.Z 用 uncompress 解压7、*.tar.Z 用tar -xZf 解压8、*.rar 用 unrar e解压9、*.zip 用 unzip 解压
Git 工作流程如下: 未跟踪文件:在工作目录中新建的没有add的文件。 修改文件:在工作目录中修改文件。(已跟踪) 暂存文件:将文件的快照放入暂存区域。(已修改) 提交更新:找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。 用户信息 --global 选项 所有本机git项目都使用该配置,不加--global只针对特定项目使用不同的用户信息 git config --global user.name "my_name" git config --global user.email "my_email@mail.com" 检查配置信息 $ git config --list user.name=John Doe user.email=johndoe@example.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto 获取帮助 $ git help <verb> $ git <verb> --help $ man git-<verb> 在现有目录中初始化仓库 移动到该目录后 $ git init 跟踪新文件or添加内容到下一次提交中 提交的版本是最后一次运行 git add 命令时的那个版本 $ git add *.c $ git add LICENSE 提交更新 $ git commit -m 'initial project version' 跳过使用暂存区域 不用频繁使用add $ git commit -a -m 'added new benchmarks' 克隆远端的仓库 会在当前目录下建立一个libgit2 $ git clone https://github.com/libgit2/libgit2 克隆远端的仓库 在当前目录下建立一个mylibgit $ git clone https://github.com/libgit2/libgit2 mylibgit 检查当前文件状态 该命令还显示了当前所在分支(默认:master) $ git status 状态简览 $ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt 新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 你可能注意到了 M 有两个可以出现的位置,出现在右边的 M 表示该文件被修改了但是还没放入暂存区,出现在靠左边的 M 表示该文件被修改了并放入了暂存区。 例如,上面的状态报告显示: README 文件在工作区被修改了但是还没有将修改后的文件放入暂存区,lib/simplegit.rb 文件被修改了并将修改后的文件放入了暂存区。 而 Rakefile 在工作区被修改并提交到暂存区后又在工作区中被修改了,所以在暂存区和工作区都有该文件被修改了的记录。 忽略文件 文件 .gitignore GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表 https://github.com/github/gitignore 从工作目录中移除文件 $ git rm PROJECTS.md 从暂存区域中删除文件 $ git rm --cached README.txt 移动文件,重命名文件 $ git mv file_from file_to 查看提交历史 提交时间列出所有的更新 $ git log 显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交 $ git log -p -2 每次提交的简略的统计信息 $ git log --stat 查看路径下文件的log $ git log --/web 查看远程仓库 origin 是使用clone 命令时的自动默认命名 $ git remote 你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。 $ git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push) 添加远程仓库 并命名为pb origin 是使用clone 命令时的自动默认命名 $ git remote add pb https://github.com/paulboone/ticgit $ git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push) pb https://github.com/paulboone/ticgit (fetch) pb https://github.com/paulboone/ticgit (push) 从远程仓库中抓取与拉取 可以按命名抓取 $ git fetch origin $ git fetch pb $ git pull origin 推送到远程仓库 [remote-name] [branch-name] $ git push origin master 查看远程仓库 [remote-name] $ git remote show origin 远程仓库的移除 $ git remote rename pb paul $ git remote origin paul 远程仓库的重命名 $ git remote rm paul $ git remote origin 分支创建 $ git branch testing 分支切换 $ git checkout testing 分支合并 (将hotfix合并到master) $ git checkout master $ git merge hotfix 删除分支 $ git branch -d hotfix 回退所有内容到上一个版本 $ git reset HEAD^ 回退a.py这个文件的版本到上一个版本 $ git reset HEAD^ a.py 向前回退到第3个版本 $ git reset –soft HEAD~3 将本地的状态回退到和远程的一样 $ git reset --hard origin/master 回退到某个版本 $ git reset -q --hard 12752264ae430603c931ed52452ad2402dd21d70 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit $ git revert HEAD 撤销对单个文件做出的更改 $ git checkout -- <file> 从svn平滑迁移至Git 获取当前svn系统的用户信息,用于对应到git的用户信息 svn log svn://127.0.0.1:40004 --username netadmin --password netadmin --xml | grep author | sort -u | \ perl -pe 's/.*>(.*?)<.*/$1 = /' 格式 schacon = Scott Chacon <schacon@geemail.com> selse = Someo Nelse <selse@geemail.com> git命令行 git svn clone svn://svn.qiang-bei.com:40003 --authors-file=users.txt --no-metadata -s my_project cp -Rf .git/refs/remotes/* .git/refs/heads/ rm -Rf .git/refs/remotes 服务器搭建Git服务器 添加git用户与key文件 adduser git su git cd mkdir .ssh && chmod 700 .ssh touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys 创建git文件夹 mkdir /home/git/gitfile cd /home/git/gitfile mkdir project.git cd project.git git init --bare 限制git用户只访问自己的内容 确定git-shell所在的路径 /usr/bin/git-shell which git-shell 添加git-shell至shells /usr/bin/git-shell vim /etc/shells 设置git用户的shell 为 /usr/bin/git-shell /bin/bash chsh git 客户端建立ssh公钥 .pub 然后加入到git用户的authorized_keys文件 ssh地址 git@192.168.32.21:/home/git/gitfile/rego.git ssh地址,更改了默认端口 ssh://git-tlm@git.rego.com:40002/home/git-rego/rego.git 忽略已被跟踪的文件的改动 git update-index --assume-unchanged common/config/db-account.php 恢复跟踪 git update-index --no-assume-unchanged common/config/db-account.php