
linux
文章平均质量分 61
闲敲代码、落灯花
坚持写博客,一直在努力中
专注后端开发,喜欢Go和Python的PHP程序员,作为一个前端爱好者,对服务器运维比较有经验
同时也是一个个人站长:在网站:逐步前行STEP[https://www.hezehua.net] 记录我的工作与生活
展开
-
搭建共享服务器、共享虚拟主机并提供服务
一般来说,大家需要使用服务器都会选择一家云计算厂商,购买相应的服务器,并进行配置,然后搭建需要的服务,在没有彻底放弃这个云服务器之前,都得按年或者按月去续费,如果暂时用不着,但是又不想以后重新搭建一遍,就只纯属于“养着”它。我的小破站STEP,只为了满足简单的博客+技术实践的需求,平时负载极低,空闲了很多资源,所以探索着将资源租出去,可以满足想短时间使用服务器,或者和我一样希望降低维系服务器费用的朋友的需求,推出了一个新的模块:共享主机,初步尝试,还比较简陋,之后会不断完善。我将承担服务器的运维工作,帮原创 2020-06-19 01:53:30 · 563 阅读 · 0 评论 -
在centos服务器上安装配置私人邮箱,并在web端管理邮件
出于技术上的好(zhuang)奇(bi),我想搭建一个自己的邮箱服务器,这样的话,以后的个人资料上面可以带上一个自己域名的邮箱,再也不怕简历带qq邮箱被嫌弃了。首先是了解一下基本的邮件协议:POP3:邮局协议第三版本,主要用于从邮件服务器中检索邮件,并把所有的邮件信息立即下载到用户的计算机上。IMAP:互联网信息访问协议,可让用户在服务器上创建并管理邮件文件夹或邮箱、删除邮件、查询某封信的一部分或全部内容,完成所有这些工作时都不需要把邮件从服务器下载到用户的个人计算机上。SMTP:简单邮件传输协议原创 2020-06-15 00:40:20 · 5306 阅读 · 0 评论 -
docker容器内服务访问宿主机服务
我的个人博客:逐步前行STEP本文背景:操作系统:macOs笔者的docker虚拟机中运行了nginx、node服务用来部署一个前后端分离的网站,但是由于docker内的node服务运行效率极低,每次代码更新后也不会自动重新编译,所以准备将node服务部署在宿主机上。遇到问题:原本,nginx内配置了代理转发到node服务端口: location / { proxy_...原创 2019-10-17 19:58:33 · 8390 阅读 · 2 评论 -
记一次Git pull之后Permission denied的解决方案
上下文: 在我的一台linux服务器上配置了git服务器,并且在本机上运行一个网站,这个网站的git库就是本机的git服务器,本来将本机的公钥加入到git服务器的authorized_keys文件中了(root角色操作),可以无密码使用git远程库,而且为了安全性禁止git账户shell环境登陆了。 为同事分配了一个服务器新账户,他登陆后在服务器上拉取代码:git pull o...原创 2018-08-17 13:10:53 · 7620 阅读 · 0 评论 -
解决git pull 报错insufficient permission for adding an object to repository database .git/objects
这个报错是没有.git/objects文件的写入权限,可能是.git/objects被root角色创建,等到别的角色去操作时就产生了权限问题,所以解决这个问题就要改.git/objects的权限:chown -R username:group .git...原创 2018-08-17 19:32:22 · 710 阅读 · 0 评论 -
-bash: composer: command not found解决办法
1、确认composer是否设置执行权限; 2、如果是在centos7中,执行mv composer.phar /usr/bin/composer而不是mv composer.phar /usr/local/bin/composer原创 2018-08-24 01:58:07 · 7123 阅读 · 0 评论 -
禁止用户通过shell登录
1、usermod -s /bin/false username 用户会无法登录,并且不会有任何提示 2、usermod -s /usr/sbin/nologin username 用户会无法登录,但是给出提示语原创 2018-08-24 03:26:32 · 4799 阅读 · 0 评论 -
openssh升级后无法登陆解决方案
1、openssh升级后,终端登陆会提示:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 应该在终端的~/.ssh/known_hostswe文件中将服务器ip对应的公钥信息删除再尝试登陆。 2、解决WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED仍然无法登陆,将/etc/ssh中的文件全部设置权限...原创 2018-08-24 11:57:39 · 42084 阅读 · 8 评论 -
openssh升级之后git账户免密登陆失效
昨天升级了openssh之后,git操作是免密的却要输入密码了,但是输入正确密码却又一直提示密码错误,查看sshd服务状态发现使用git账户登陆的时候会提示:get shadow information for nouser额,这是因为我设置了git账户不可shell登陆,但是我也将终端的RSA公钥提交到git服务器了呀… 只能开放git账户的shell登陆了:usermo...原创 2018-08-24 12:07:25 · 1373 阅读 · 0 评论 -
linux 使用命令直接查看带单位的文件大小
1、du -h filenamewenjian1 2、ls -lh filename 3、ll -h filename原创 2018-09-03 17:46:46 · 1821 阅读 · 0 评论 -
Nginx设置Laravel项目中图片防盗链以及禁止地址栏直接访问图片
为了防止图片盗用,禁止外链以及禁止地址栏直接访问图片是必不可少的方案,当然这样的限制还比较基础,还是有别的途径可以盗图的,更多的限制之后会追加,现在先做好这两个基础防护。location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers server_names *.abc.com *.abc.cn *.so.com ...原创 2018-10-11 18:38:21 · 1882 阅读 · 0 评论 -
搭建NFS使多个服务器中的web项目共享图片资源
有一个使用laravel框架的项目,采用laravel自带的文件管理系统,还有一个使用laravel-admin扩展的管理端,更是依赖于自带的文件管理系统。因部署了多台服务器,需要打通数据,考虑了各种方案,比如fastdfs、oss,初步了解后发现无法完全满足需求:fastdfs:在文件的存取上保证了一致的路径,用户端的上传和图片压缩都影响不大,只要最终把文件上传到fastdfs就行,但是lar...原创 2018-10-16 03:18:02 · 1869 阅读 · 0 评论 -
配置NFS固定端口
NFS启动时会随机启动多个端口并向RPC注册,为了设置安全组以及iptables规则,需要设置NFS固定端口。NFS服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,其中nfs、portmapper的端口是固定的,另外三个服务的端口是随机分配的,所以需要给mountd,nlockmgr,rquotad设置固定的端口。其中,给mountd、rq...原创 2018-10-16 22:08:37 · 5890 阅读 · 0 评论 -
tar打包的时候忽略一些目录
tar打包的时候忽略版本管理文件目录、日志文件目录、storage/app目录tar -zcvf web.tar.gz web --exclude-vcs --exclude=storage/logs --exclude=storage/app原创 2018-10-31 18:47:45 · 5188 阅读 · 0 评论 -
Laravel定时任务的每秒执行
laravel中的任务调度可以不将每条命令都写入crontab,便于管理维护,而且可以基于laravel框架环境运行,而不需写独立的脚本执行,非常方便,但是最小的执行间隔也是一分钟,要想达到每秒执行的效果,就要借助shll脚本了,在shell脚本里循环60次每秒执行schedule:run命令,就达到了秒级定时任务的效果,以下是我使用的shell脚本:!/bin/bashstep=1 #间...原创 2018-07-27 16:33:20 · 9226 阅读 · 0 评论 -
编写.gitignore文件
有时候我们并不想要把一个项目都提交到git上,比如一个基于当前服务器的配置,当项目迁移到另一个服务器上时,这个配置相应变成了与另一个服务器相关的,如果在提交到git服务器时连同该配置一同提交,就很容易因为未及时修改而发生错误。这时候,就需要使git不提交该文件,这就是 .gitignore的作用。 只要在进行版本管理的目录中创建该文件写上相应配置就会生效, 该文件每个配置写一行, 例如:...原创 2018-07-31 00:45:09 · 325 阅读 · 0 评论 -
安装PHPRedis扩展
1、编译安装redis (1)wget http://download.redis.io/releases/redis-4.0.8.tar.gz (2)tar -xf redis-4.0.8.tar.gz (3)mkdir -p /usr/local/redis/bin /usr/lcoal/redis/etc (4)cd redis-4.0.8 (5)make && ...原创 2018-02-12 00:42:23 · 195 阅读 · 0 评论 -
unzip命令常用参数
1、-l:显示压缩文件内所包含的文件; 2、-t:检查压缩文件是否正确; 3、-o:不必先询问用户,unzip执行后覆盖原有的文件; 4、-n:解压缩时不要覆盖原有的文件; 5、-q:执行时不显示任何信息; 6、-d<目录>:指定文件解压缩后所要存储的目录; 例:将test.zip文件解压到www目录下,覆盖原有文件且不显示信息unzip -q test.zip -d ...原创 2018-02-13 09:16:02 · 22536 阅读 · 1 评论 -
Centos新建用户无法ssh登陆
如题,最近使用AWS搭建web server,原先是root用户,添加了一个develop用户组,并添加了一个开发人员账户:testname,然而却无法使用ssh登陆。查看了各种解决办法都没有效果,最终我从/etc/passwd文件中root和testname账户后面的参数分别为/bin/bash和/bin/false直觉是因为这个参数导致的,查资料后发现/bin/false是...原创 2018-03-07 10:22:56 · 9551 阅读 · 0 评论 -
私有GIT服务器的免密提交
1、 客户端生成用户公钥,在git bash中执行:ssh-keygen -t rsa将生成的id_rsa.pub文件上传到git服务器的/home/git目录下。 2、在服务器中/home/git路径下新建 .ssh 目录,并执行:cat id_rsa.pub > .ssh/authorized_keys3、限制git用户不能通过ssh登录:在/etc/passwd文...原创 2018-03-07 15:24:45 · 1410 阅读 · 0 评论 -
为什么私有GIT服务器上无法查看上传的代码?
今天按教程十分简单地搭建了GIT服务器,但是在客户端实践远程仓库之后,一直无法在服务器对应目录看到上传的代码,而另一个客户端却可以从服务器下载代码,后来才发现我创建git仓库的git init --bare sample.git命令是用于创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库只保存git历史提交的版本信息,纯粹是为了共享,所以不让用户直接登录到服务器上去改工作。...原创 2018-03-07 15:32:21 · 9906 阅读 · 1 评论 -
设置用户权限
chown -R nginx:nginx /xxx/xxxchmod -R 755 /xxx/xxx原创 2018-03-05 23:19:03 · 1216 阅读 · 0 评论 -
AWS EC2启动Centos实例以及设置root密码登录
一、在控制台的左边面板选择“实例”,再点击“启动实例”,在“选择一个Amazon系统镜像”步骤中,点击“AWS Marketplace”,再搜索centos,选择需要的版本,接下来一直continue即可,其中有一个步骤会生成一个密钥文件,这个很重要,保存好,直到完全启动一个实例。 二、在控制台左边面板中选择“弹性IP”,分配一个新地址,再在ip地址上右键“关联地址”,此时即可通过该IP访问实例...原创 2018-03-06 00:55:02 · 12200 阅读 · 0 评论 -
vi批量缩进
进入vi后,点击v进入VISUAL模式,再使用上下箭头选择行,按”<”,”>”操作缩进。原创 2018-03-06 17:24:36 · 1039 阅读 · 0 评论 -
查看占用指定端口的程序
netstat -lntup | grep 8080原创 2018-03-06 18:03:37 · 179 阅读 · 0 评论 -
记录第二次遇到ERROR! MySQL server PID file could not be found!
我的云服务器出现好几次ERROR! MySQL server PID file could not be found!错误了,都是突然就数据库崩了,之前都是删除巨大的日志文件、杀mysqld进程、重启就好了,然而这回却没有重启成功,看日志也看不出有效信息,,,,可能是因为水平渣 -。- 手动生成了pid文件,进行mysql服务重启失败后pid文件又被删除了…….. 于是重启服务器 再回头重...原创 2018-03-28 00:35:05 · 963 阅读 · 0 评论 -
php脚本定时更新商品列表
电商项目中为了提高抗并发能力,需要对商品列表做缓存,以下是更新缓存用的脚本://PRODUCTION_为缓存商品列表的临时key//PRODUCTION为缓存商品列表key$con = mysqli_connect($db_config['host'],$db_config['user'],$db_config['passwd'],$db_config['database']);$r...原创 2018-04-22 16:51:40 · 607 阅读 · 0 评论 -
centos 中查找文件、目录、内容
1、查找文件find / -name 'filename'2、查找目录find / -name 'path' -type d3、查找内容find . | xargs grep -ri 'content'//find . | xargs grep -ril 'content' 只显示文件名称...原创 2018-05-21 17:43:00 · 67036 阅读 · 0 评论 -
Laravel项目迁移步骤
1、在新的目录中克隆git远程版本库 2、执行composer install安装依赖 3、执行php artisan key:generate生成key 4、如果文件存储中使用了软链接,先在新项目目录里删除软连接,再执行 php artisan storage:link重新生成软链接,不然迁移后的项目中将无法访问上传的文件。...原创 2018-05-26 15:57:38 · 3429 阅读 · 0 评论 -
curl下载文件
curl url -o filename –progress 下载url的内容到文件filename中,并显示下载进度原创 2018-07-02 12:15:22 · 3948 阅读 · 0 评论 -
编译安装LNMP全程实录
此次是在CentOs 7.4上进行安装配置,先把编译环境配置好:yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++准备一些软件的安装包: 安装包 地址 用途 php-7.1.6.tar.bz2 http://cn2.php.net/distribution...原创 2018-02-03 02:10:35 · 323 阅读 · 0 评论