zoukankan      html  css  js  c++  java
  • 一些杂想(服务器篇)

    一些杂想(服务器篇)

    HTTP模块的三个逻辑区段

    http:允许定义指令和嵌入 HTTP 相关模块的区段。

    server: 允许声明一个站点。

    location:定义一组设置,应用于网站的一个特定位置。

    rewrite 模块:执行 URL 重定向。

    SSI 是 Server Side Include 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。

    将第三方的模块集成到 Nginx 中

    • 下载相关功能模块的 .tar.gz 归档文件。
    • 使用命令 tar xzf module.tar.gz 解压。
    • 通过命令 ./configure —add-module=/module/source/path […] 配置编译 Nginx。

    源码安装方法

    • 下载一个包含代码的 .tar.gz 归档文件,然后再解压该文件,进入解压后的目录,再执行三个命令分别为 ./configure, make 和 make install 。
    • ./configure 进行程序验证过程,以便确定系统包含所有必要的组成成分。
    • make 对应用程序进行编译
    • make install 复制编译后的文件(也包括资源文件)到安装目录。

    运行应用程序

    1. 要执行的程序就在当前工作目录下:

      解决方法:在要执行的文件前面加上 ./ (句点和斜线),这么做的原因是强迫 shell 在当前的工作目录中查找要执行的文件。

    2. 要执行的程序不在当前的工作目录下,但你知道该文件的路径。

      解决方法:键入该文件的完整路径。

    3. 要执行的程序位于环境变量 PATH指定的值内。

      解决方法:直接键入文件名,而不用指出其路径。

    符号 > 允许你把文本写到文件中,如果指定的文件已经存在,原始的内容会被删除和替换。

    touch 命令用于更新一个文件的访问日期和修改时间。

    压缩和解压

    • 使用 gzip 和 bz2 建立 tarball 的压缩包语法如下:

      tar czvf archive.tar.gz [file1 file2…]
      tar cjvf archive.tar.bz2 [file1 file2…]
      
    • 解压文件

      tar xzvf archive.tar.gz
      tar xjvf archive.tar.bz2
      

    安装 Nginx 的先决条件

    依赖库:GCC, PCRE, zlib, OpenSSL 。

    • GCC(由于 Nginx 有 C 语言编写,因此需要在系统上安装一个编译工具) 基本上 Linux 自带,可以通过命令 gcc 查看是否安装,显示 no input fles, 即为已安装。
    • PCRE库(Nginx 的 Rewrite 模块和 HTTP 模块会使用到 PCRE 正则表达式语法)
    apt-get install libpcre3 pibpcre3-dev(Ubuntu 下)
    
    yum install pcre pcre-devel (centOS 下)
    
    • zilb(在 Nginx 的各种模块中需要使用 gzip 压缩)
    apt-get install zlib1g zlig1g-dev (Ubuntu 下)
    
    yum install lib zlib-devel (centOS 下)
    
    • OpenSSL (在 Nginx 中,如果服务器提供安全网页则会用到 OpenSSL 库)
    apt-get install openssl libssl-dev (Ubuntu 下)
    
    yum install openssl openssl-dev (centOS 下)
    
    • 在 /home 下新建一个 src 目录
    mkdir src && cd src
    
    • 源码安装
    Nginx wget http://nginx.org/download/nginx-1.14.0.tar.gz
    
    • 解压
    tar zxf nginx-1.14.0.tar.gz 
    
    • 执行
    ./configure
    make 
    make install 
    

    ./configure 进行程序验证过程,以便确定系统包含所有必要的组成成分。

    make 对应用程序进行编译,一个成功的 build 编译应该会出现最后的信息:

    make[1]: leaving directory followed by the project source path.

    make install 复制编译后的文件(也包括资源文件)到安装目录。

    杂七杂八(一)

    • Nginx 默认运行在80端口。
    • 虚拟主机 :
    <VirtualHost A.B.C.D:8080>…</VirtualHost>
    
    • proxy模块:代理模块。放在 location 区段。

    • upstream 区段:指定多个服务器。

    • 使用重新载入来替代重新启动服务—宁愿选择 service nginx reload 而别选择 service nginx restart

    • 在某些情况下,如果不是特别需要,不管你使用的 Nginx 如何建立,都应该避免使用 if 语句。

    • 运行与后台,作为守护进程运行的程序,守护进程的名称后通常带有 “d” 字样。例如 httpd 是 HTTP 服务器的守护进程。运行守护进程时,屏幕上不会出现任何文本信息,并且提示符会立即返回。

    • www-data 用于运行 Nginx 进程的用户和组(user 和 group)

    • Nginx 的 master 进程,由 root 启动

    • 在大多数类 Unix 系统上,由 root 账户开启的进程允许在开发任何端口的 TCP 套接字,但是其他用户启动的程序只能监听1024以上的端口。如果不是以 root 账户启动 Nginx,将无法得到标准的端口(如80和443),即无法启动。

    • uanm -a 返回系统内核信息

    • ubuntu 下 openssl-dev 等于 libssl

    • Nginx 的默认安装目录是 /usr/local/nginx,通过/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf启动 Nginx。

    • 查看进程是否启动:

      ps -ef | grep nginx
      
    • 错误信息:

      Can't open /etc/rc.d/init.d/functions

      /etc/rc.d/init.d/functions是CentOS的位置,Ubuntu对应:/lib/lsb/init-functions 所以到 vim /etc/init.d/nginx 修改路径为:/lib/lsb/init-functions

    杂七杂八(二)

    • Django 语言问题

      LANGUAGE_CODE = 'zh-Hans' #使用中文简体
      TIME_ZONE = 'Asia/Shanghai'	#地址定位到上海,北京会报错!!
      
    • 解决显示不明确的标题,在类下面加入如下函数

      def __str__(selft):
      	return self.name
      

      Python2中:def __unicode__(self):

      python3中: def __str__(self):

      str()函数将会返回我们定义好的数据格式

    • Linux 下不是 root 用户时,安装库包使用 sudo 命令 。

    • sudo apt-get update 用于更新安装好的系统信息(获取列表)

      sudo apt-get upgrade 获取所有需要更新或升级的项目(安装更新)

    • 查询端口:lsof -I:端口号

      结束端口:kill -9 PID

    • locals()函数会把内存中的所有局部变量使用字典类型打包起来。

    • Please check that your locale settings问题

      解决方法:

      echo "export LC_ALL=C" >> /root/.bashrc
      
      source /root/.bashrc
      
      
    • 使用 grep 指令找出和项目有关的字符串,如:

      grep ‘test4’ *.py
      

      将列出当前目录下所有匹配到 test4 的文件和文件中的所匹配行。

    • -p 参数可以创建多层文件夹

      mkdir -p file/file2
      
  • 相关阅读:
    SQL Server, Timeout expired.all pooled connections were in use and max pool size was reached
    javascript 事件调用顺序
    Best Practices for Speeding Up Your Web Site
    C语言程序设计 使用VC6绿色版
    破解SQL Prompt 3.9的几步操作
    Master page Path (MasterPage 路径)
    几个小型数据库的比较
    CSS+DIV 完美实现垂直居中的方法
    由Response.Redirect引发的"Thread was being aborted. "异常的处理方法
    Adsutil.vbs 在脚本攻击中的妙用
  • 原文地址:https://www.cnblogs.com/weixuqin/p/9410010.html
Copyright © 2011-2022 走看看