
Linux
文章平均质量分 61
自由de单车
90后程序猿
展开
-
【Nginx】location匹配模式与规则
介绍Nginx location的几种匹配模式和规则原创 2025-03-27 16:27:51 · 433 阅读 · 0 评论 -
【Ubuntu】apt命令安装最新版本Nginx
官方ubuntu软件仓库的软件版本可能会比较旧,导致无法安装最新版的软件包,例如在Ubuntu 22.04中,默认情况下,执行命令安装到的 Nginx 版本是1.18.0(2020年4月发布),比较旧。如果希望安装最新版本的Nginx,需要添加 Nginx 的外部仓库,其它软件也同理。另外一种方法是到 Nginx 的官网下载新版本tar.gz源码包,手动编译安装,本文暂不讨论。原创 2024-05-09 15:35:22 · 2887 阅读 · 0 评论 -
【Nginx】the “listen ... http2“ directive is deprecated
报这个错误的原因是,Nginx 自从 1.25 版本后,开启。今天安装了 1.26.0 版本的Nginx,执行。的配置写法有变更,旧的写法已经被标记为“过时”。原创 2024-05-08 14:53:24 · 2737 阅读 · 1 评论 -
Nginx域名跟server_name不匹配也能访问
最近发现有一个别人的域名(下文以举例),DNS恶意解析到了我的一台服务器IP上,我的服务器上刚好部署了一个网站(域名为),Nginx里的配置为mysite.com奇怪的是,用域名竟然也能访问到我的网站,都不匹配,Nginx怎么会允许它访问的呢?后来查资料得知,如果Nginx匹配不到的话,会将请求交给来处理。怎么确定呢?首先是看此端口有没有配置了如果这个server配置了指令,那么就会交给它处理。但如果所有的server都没有指令呢?那么就会交给第一个开启了此端口的server处理。原创 2023-06-30 13:18:25 · 3688 阅读 · 0 评论 -
Nginx配置https证书遇到的一个问题
今天在给一个站点配置 HTTPS 证书的时候,遇到了一个问题,写此文章记录一下解决过程。原创 2023-06-23 20:16:54 · 7558 阅读 · 0 评论 -
使用docker搭建LNMP开发环境
宿主机环境系统:ubuntu 18.04docker版本:18.03.1-cedocker的安装请自行参考官方文档。前言这篇文章用于介绍如何使用docker搭建一个LNMP开发环境,下面我们将会编写Dockerfile,基于官方docker hub的镜像,分别构建我们自己的镜像,然后运行。要构建的镜像有:PHP-FPM 7.4Nginx 1.19MySQL 5.7Redis 6.2为什么不直接使用官方镜像,而是自己再构建一个?因为官方镜像一般安装的东西都很少,例如PHP-FPM的原创 2022-04-01 14:08:19 · 6425 阅读 · 2 评论 -
慎用ubuntu的apt autoremove命令
前言最近线上有好几台服务器的PHP定时脚本突然报错了,报错信息是Class 'Memcache' not found,看起来像是PHP没安装memcache扩展导致的,用php -m命令查看下扩展列表,确实没安装。原因但是之前一直好好的,为什么现在才突然报错呢?用history命令查看最近执行过的命令,发现运维人员执行过apt autoremove命令,这个命令会把所有自动安装且不再使用的软件包卸载掉,网上比较多人说这个命令会误把一些仍然有在使用的包卸载,从而导致一系列问题。因此怀疑是这个命令把PHP原创 2021-03-07 13:49:58 · 2350 阅读 · 0 评论 -
ubuntu 16.04更新curl支持http2
前言因为业务需要,服务器需要支持http2,但因为服务器的系统比较老(ubuntu 16.04),自带的curl并不支持http2协议,因此需要升级curl,下面记录下在升级过程中遇到的问题。如何确认curl支不支持http2?方法一,执行curl --http2 命令访问一个网址,如果提示Unsupported protocol,则代表不支持:curl --http2 'https://www.google.com'curl: (1) Unsupported protocol方法二,执行cu原创 2021-02-08 16:47:52 · 3114 阅读 · 0 评论 -
安装zabbix提示Specified key was too long
环境系统:Ubuntu 18.04数据库:MySQL 5.7.32过程今天按照官方文档在服务器上安装zabbix,但在安装到下面这一步的时候,报错了:错误信息是ERROR 1071 (42000) at line 348: Specified key was too long; max key length is 3072 bytes看起来是索引长度太长了,导致MySQL报这个错。后来经过排查,发现原因是数据库的字符编码设置不对,我在新建zabbix数据库的时候,将数据库的字符编码设置为utf原创 2021-01-25 17:27:19 · 2085 阅读 · 0 评论 -
ubuntu18.04二进制方式安装gogs
依赖在安装gogs前,需要先检查服务器环境是否符合要求:链接步骤1)执行以下命令创建一个名为git的新用户,这个用户将被用来运行gogssudo adduser --disabled-login --gecos 'Gogs' git2)切换到git的用户目录cd /home/git3)在这里找到适合自己系统的最新版二进制压缩包,并使用wget下载到服务器,下载好后解压缩。注意:必须解压到/home/git目录,否则会导致后面gogs启动不了sudo wget https://dl.gog原创 2020-12-23 16:58:03 · 514 阅读 · 0 评论 -
Ubuntu磁盘空间爆满后输入命令报No space left on device
最近线上一台Linux服务器磁盘空间爆了,扩容完毕后,发现在命令行界面敲tab键补全命令的时候,Linux会提示:cannot create temp file for here-document: No space left on device然后使用df -h命令查看磁盘使用情况,发现多了一个overflow的文件系统,挂载目录是/tmp网上查资料,说可以使用sudo umount -l /tmp命令来解决,执行后也确实解决了报错的问题,至此问题解决。...原创 2020-10-30 14:57:26 · 2945 阅读 · 0 评论 -
linux上如何删除文件名乱码的文件
今天在服务上发现了两个文件名是乱码的文件,如图所示。 于是想用rm命令把它们删掉,但提示没有此文件。网上搜了一下,找到解决方法,首先执行ls -i命令,此时在文件前面会出现一个数字,这个数字是文件的节点号: 接着,执行命令find -inum 节点号 -delete就可以把两个乱码的文件删掉了。原创 2017-11-03 12:16:38 · 27315 阅读 · 10 评论 -
验证内存泄漏的简单方法
最近我们的openresty服务器出现了内存泄露现象,这个方法是运维在解决问题的时候传授给我们的。验证内存泄漏的简单方法:pmap -d 进程号 每隔一段时间pmap一下,看看上面这三个值有没有增加,没增加的话就代表没有泄漏原创 2016-09-13 18:31:24 · 1765 阅读 · 0 评论 -
tar压缩时排除某个目录或文件
在对某个目录进行压缩的时候,有时候想排除掉某个目录假设test目录下有3个目录:aa, bb, cc现在想只对aa目录压缩,命令如下: tar -zcvf test.tar.gz –exclude=bb –exclude=cc test排除某个文件的操作和目录一样上述内容转载自http://blog.chinaunix.net/uid-10449864-id-2956895.html,部分内容有改转载 2016-08-23 10:07:37 · 716 阅读 · 0 评论 -
wget地址收集
以下源码包均可以直接使用wget直接下载PHP:http://cn2.php.net/distributions/php-5.5.10.tar.gznginx:http://nginx.org/download/nginx-1.4.5.tar.gzzlib库,开启nginx的gzip模块功能时需用到:http://cznic.dl.sourc原创 2014-03-24 16:47:27 · 1309 阅读 · 0 评论 -
如何在CentOS中把网卡设置成动态获取IP
1)vi /etc/sysconfig/network-scripts/ifcfg-eth0,其中eth0是网卡设备原创 2014-08-04 16:17:26 · 1405 阅读 · 0 评论 -
Nginx编译参数详解
--prefix=PATHNginx安装路径。如果没有指定,默认为/usr/local/nginx。这里的安装目录并非所谓的程序安装路径,而是类似Apache的WWW目录的安装路径。--sbin-path=PATHNginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为/sbin/nginx。--conf-path=PATH在没有给定-c选项下转载 2015-02-28 15:00:04 · 2184 阅读 · 0 评论 -
CentOS以源码方式安装nginx
系统环境CentOS 6.5 64位Nginx 1.6.2先下载好以下组件,在安装nginx的时候会用到:openssl(用于网站的https连接):http://www.openssl.org/source/openssl-1.0.2.tar.gzzlib(提供数据压缩功能):http://liquidtelecom.dl.sourceforge.net/projec原创 2015-02-28 16:56:06 · 635 阅读 · 0 评论 -
CentOS以源码方式安装Apache
环境CentOS 6.5 64位 Apache 2.4.12约定在安装之前,我们约定:apache的运行用户和组都为apache网站根目录为/data/webapache的日志目录为/var/logs/apache创建用户和目录#创建用户和用户组groupadd apacheuseradd apache -g apache -s bin/false -M#创建网站根目录mkdir -原创 2015-04-18 20:41:25 · 1072 阅读 · 0 评论 -
CentOS以源码方式安装MySQL
系统环境CentOS 6.5 64位MySQL 5.6.23安装基础组件yum -y install cmake ncurses-devel创建用户和组groupadd mysqluseradd mysql -g mysql -s /bin/false -M创建数据目录和配置文件目录#创建数据库数据存储目录mkdir -p /data/mysql#创建配置原创 2015-03-15 14:18:59 · 539 阅读 · 0 评论 -
linux系统常用命令
linux常用命令收集原创 2014-05-17 16:55:43 · 653 阅读 · 0 评论 -
通过配置worker_cpu_affinity参数提升nginx性能
简介Nginx默认没有开启利用多核CPU,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核CPU的性能。CPU是任务处理,计算最关键的资源,CPU核越多,性能就越好。规则设定CPU有多少个核,就有几位数,1代表内核开启,0代表内核关闭worker_processes最多开启8个,8个以上性能就不会再提升了,而且稳定性会变的更低,因此8个进程够用了示例linode V转载 2015-07-13 19:36:29 · 2378 阅读 · 0 评论 -
CentOS以源码方式安装PHP
系统环境CentOS 6.5 64位Nginx 1.6.2MySQL 5.6.23PHP 5.6.6依赖库#为了省事,直接用yum来安装吧yum -y install libmcrypt-devel libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel openssl-devel创原创 2015-03-16 10:19:41 · 665 阅读 · 0 评论 -
如何找出nginx配置文件的所在位置
有时候在操作一台陌生的nginx服务器的时候,需要知道配置文件在哪里,下面教大家一种简单的方法:先找出nginx可执行文件的路径 ps -ef | grep nginx 图中显示的就是nginx可执行文件的路径找出配置文件路径 /usr/local/openresty/nginx/sbin/nginx -t 这样配置文件的路径就显示出来啦~原创 2016-01-15 16:14:14 · 56299 阅读 · 3 评论 -
ps -ef和ps aux的区别
第一点 -ef是System V展示风格,而aux是BSD风格。 字段含义: USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内存的百分比 VSZ:进程占用的虚拟内存大小(单位:KB) RSS:进程占用的物理内存大小(单位:KB) TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的 STAT:进程状态,其原创 2015-12-05 17:12:01 · 21198 阅读 · 1 评论 -
自定义nginx日志记录格式
今天在一份nginx配置文件中见到一个日志配置指令:access_log /data1/logs/interface-access-log bilog前面那部分很容易懂,就是把访问日志记录到/data1/logs/interface-access-log这个文件里,但是后面那个bilog是什么东西呢?后来查了一下,发现原来这个bilog是用户自己定义的一种日志格式,在配置文件中搜索bilog就可以发原创 2016-08-22 18:17:13 · 1902 阅读 · 0 评论 -
ubuntu编译LAMP可能会遇到的错误总结
注:如果用apt-get安装下面的软件包时出现错误,请试试使用ubuntu官方的更新源,并执行命令sudo apt-get update【PHP】error: xml2-config not found. Please check your libxml2 installation解决方法:sudo apt-get install libxml2 libxml2-dev原创 2014-03-20 16:38:48 · 1091 阅读 · 0 评论