linux服务器

Linux下Nginx的HTTPS+多站点 虚拟主机配置

我与影子孤独终老i 提交于 2020-03-09 02:20:11
原文: Linux下Nginx的HTTPS+多站点 虚拟主机配置 阿里云产品通用代金券,最高可领1888元代金券分享一波 阿里云红包 . 阿里云的 购买入口 对于访问量不大的服务器,只运行一个网站会不会觉得有点浪费资源,或者说有多个网站要部署,但是只有一台服务器,能不能在一台主机上运行多个网站呢。当然是可以的,可以使用不同的目录区分不同的网站,这种方法好处是比较简单,但是会造成网站文件混乱,在使用框架时可能会产生冲突,使用虚拟主机可以方便的解决这个问题。 准备 一个已经备案的域名 一台有Nginx的服务器 ssl证书(不开启HTTPS可以忽略) 添加子域名。比如你注册的域名是 qiandu.com ,可以自己设置多个二级子域名比如 m.qiandu.com , api.qiandu.com 等等。以阿里云解析为例 记录值选择A,主机记录直接填写二级域名就行,比如二级域名是 m.qiandu.com ,只要填写 m 就行。记录值就是服务器ip了,然后确定就可以了。添加了域名后,可以去下载一个免费的ssl证书。 配置ssl证书。(不适用HTTPS可以跳过)把从阿里云下载的证书放到服务器上,一边都放在Nginx配置文件的目录中,比如 /etc/nginx ,在这个目录中新建一个目录,比如 ssl ,然后把证书放到这里。 注意,一定要有可读权限 配置Nginx。根据自己的具体情况

跟高手学习LINUX笔记-18

谁都会走 提交于 2020-03-08 23:40:56
第18节Linux网络管理入门 本节所讲内容: 18.1 OSI七层模型和TCP/IP四层模型 18.1.1 OSI七层模型 OSI七层模型是任何与网络相关的知识都无法跳过去的知识点,很重要 1)OSI七层模型(从下往上): 第一层:物理层;代表设备:集线器、网线等 第二层:数据链路层;代表设备:二层交换机、网卡等 第三层:网络层;代表设备:路由器、三层交换机 第四层:传输层;代表设备:硬件防火墙 第五层:会话层; 第六层:表示层;后三层代表设备:各种应用程序 第七层:应用层; 2)OSI七层模型特点 第一项:各层只关心本层解决的问题,对其他层只提供接口 第二项:把复杂的问题分解开来处理,完成解决问题的目的 第三项:最让人吐槽的是无法实现 18.1.2 TCP/IP四层模型 TCP/IP四层模型是由两个重要协议:TCP协议/IP协议共同组成 把OSI七层模型整合优化成四层结构(从下往上): 第一层:物理层接口层 第二层:网络层 第三层:数据传输层 第四层:应用层 ---现代网络通信过程中都在用TCP/IP四层模型 18.1.3 常见网络相关的协议及所用端口 在介绍协议之前要先介绍个重要知识点:TCP协议和UDP协议的区别 (1)TCP协议:TCP(传输控制协议),是面向连接的协议,在收发数据前,必须和对方建立可靠的连接,通过顺序号、确认号及划动窗口等确保传输可靠性。 (2

KVM之CPU虚拟化

做~自己de王妃 提交于 2020-03-08 22:21:27
1.1 为什么要虚拟化CPU 虚拟化技术是指在x86的系统中,一个或以上的客操作系统(Guest Operating System,简称:Guest OS)在一个主操作系统(Host Operating System,简称:Host OS)下运行的一种技术。这种技术只要求对客操作系统有很少的修改或甚至根本没有修改。x86处理器架构起先并不满足波佩克与戈德堡虚拟化需求(Popek and Goldberg virtualization requirements),这使得在x86处理器下对普通虚拟机的操作变得十分复杂。在2005年与2006年,英特尔与AMD分别在它们的x86架构上解决了这个问题以及其他的虚拟化困难。 1.2 关于CPU的Ring0、Ring1··· ring0是指CPU的运行级别,ring0是最高级别,ring1次之,ring2更次之…… 拿Linux+x86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断、修改页表、访问设备等等。 应用程序的代码运行在最低运行级别上ring3上,不能做受控操作。如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问

Linux shell用法和技巧

▼魔方 西西 提交于 2020-03-08 17:11:37
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。于是,我开始在一个文本文件里记录这些用法,并放在我的Dropbox里,现在,向大家分享这个文件。这个文件我会不断的更新。需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件。 UPDATE: November 25, 2013 检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 让进程转入后台: Ctrl + z 将进程转到前台: fg 产生随机的十六进制数,其中n是字符数: openssl rand -hex n 在当前shell里执行一个文件里的命令: source /home/user/file.name 截取前5个字符: ${variable:0:5} SSH debug 模式: ssh -vvv user@ip_address SSH with pem key: ssh user@ip_address -i key.pem 用wget抓取完整的网站目录结构,存放到本地目录中: wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

linux下突破10万高并发的nginx性能优化经验

风格不统一 提交于 2020-03-08 16:38:11
一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项: 1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。 worker_processes 8; 2)为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 3)下面这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是系统的最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。 worker_rlimit_nofile 65535; 4)使用epoll的I/O模型,用这个模型来高效处理异步事件 use epoll; 5)每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。 worker_connections 65535; 6)http连接超时时间,默认是60s,功能是使客户端到服务器端的连接在设定的时间内持续有效

linux下编写简单的守护进程

↘锁芯ラ 提交于 2020-03-08 14:14:28
搭建linux服务器的时候,需要写一个简单的守护进程来监控服务的运行情况,shell脚本如下: #!/bin/sh function daemon() { while true do server=`lsof -i:8080` #服务器占用端口为8080,通过查看8080端口是否占用来判断服务是否启动 date=`date "+%Y-%m-%d %H:%M:%S"` if [ ! "$server" ] then echo "$date, webserver is stoped!" nohup sh startserver.sh >> nohup.out 2>&1 & #通过nohup命令后台运行服务 echo "$date, webserver is starting..." sleep 10 #启动后等待10s else echo "$date, webserver is running..." fi sleep 10 done } daemon 存为monitor.sh,通过nohup ./monitor.sh >> monitor.log 2>&1 & 来启动。 来源: https://www.cnblogs.com/zoro-robin/p/6558231.html

Linux系统文件查找

岁酱吖の 提交于 2020-03-08 11:44:17
文件查找概述 Linux系统中的find命令在查找文件时非常有用而且方便。 它可以根据不同的条件来进行查找文件:例如权限、拥有者、修改日期/时间、文件大小等等。 同时find命令是Linux下必须掌握的。 find 命令的基本语法如下 命令 路径 选项 表达式 动作 find [path...] [options] [expression] [action] 查找 地区 犯罪嫌疑人 性别男25-30岁 枪决行动 find名称查找 //创建文件 touch /etc/sysconfig/network-scripts/{ifcfg-eth1,IFCFG-ETH1} //查找/etc目录下包含ifcfg-eth0名称的文件 [root@xuliangwei ~]# find /etc -name "ifcfg-eth1" //-i 忽略大小写 [root@xuliangwei ~]# find /etc -iname "ifcfg-eth1" //查找/etc目录下包含ifcfg-eth名称所有文件 [root@xuliangwei ~]# find /etc/ -name "ifcfg-eth " [root@xuliangwei ~]# find /etc -iname "ifcfg-eth " find大小查找 //查找大于5M [root@xuliangwei ~]# find

Linux 查看端口占用情况

南楼画角 提交于 2020-03-08 11:33:18
Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。 lsof lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 查看端口占用语法格式: lsof -i:端口号 实例 查看服务器 8000 端口的占用情况: lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN) 可以看到 8000 端口已经被轻 nodejs 服务占用。 lsof -i 需要 root 用户的权限来执行,如下图: 更多 lsof 的命令如下: lsof -i:8080:查看8080端口占用 lsof abc.txt:显示开启文件abc.txt的进程 lsof -c abc:显示abc进程现在打开的文件 lsof -c -p 1234:列出进程号为1234的进程所打开的文件 lsof -g gid:显示归属gid的进程情况 lsof +d /usr/local/:显示目录下被进程开启的文件 lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长 lsof -d 4:显示使用fd为4的进程 lsof -i -U:显示所有打开的端口和UNIX

linux yum 命令

痞子三分冷 提交于 2020-03-08 10:25:27
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 yum 语法 yum [options] [command] [package ...] options: 可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。 command: 要进行的操作。 package 操作的对象。 yum常用命令 1.列出所有可更新的软件清单命令:yum check-update 2.更新所有软件命令:yum update 3.仅安装指定的软件命令:yum install <package_name> 4.仅更新指定的软件命令:yum update <package_name> 5.列出所有可安裝的软件清单命令:yum list 6.删除软件包命令:yum remove <package_name> 7.查找软件包 命令:yum search <keyword> 8.清除缓存命令: yum clean packages:

Linux X协议 X11 XFree86 X-Window

雨燕双飞 提交于 2020-03-08 09:55:53
文章目录 术语 前言 X协议 X11R6 XFree86 术语 X协议 X11 X11R6 XFree86 X-Window 窗口管理器 GNOME KDE 前言 Linux本身没有图形界面,Linux现在的图形界面实现只是Linux下的应用程序实现的。图形界面并不是Linux的一部分,Linux只是一个基于命令行的操作系统,Linux和Xfree的关系就相当于当年的DOS和 Windows3.0一样,Windows3.0不是独立的操作系统,它只是DOS的扩充,是DOS下的应用程序级别的系统,不是独立的操作系统,同样XFree只是Linux下的一个应用程序而已,不是系统的一部分,但是X的存在可以方便用户使用电脑。Windows95及以后的版本就不一样了,他们的图形界面是操作系统的一部分,图形界面在系统内核中就实现了,没有了图形界面Windows就不成为Windows了,但Linux却不一样,没有图形界面Linux还是Linux,很多装Linux的WEB服务器就根本不装X服务器,这也WINDOWS和Linux的重要区别之一。 X协议 X是协议,就像HTTP协议,IP协议一样,这个概念很多初学者甚至学习LINUX有一定时间的人都混淆,一个基于X的应用程序需要运行并显示内容时他就联接到X服务器,开始用X协议和服务器交谈,比如一个X应用程序要在屏幕上输出一个圆那么他就用X协议对X服务器说