Apache和nginx相关知识

摘要:
1Apache和nginx相关知识1.1Apache配置文件Listen80Listen主要侦听web服务端口状态,默认为:80,即侦听所有的地址的80端口,注意这里也可以写成IP地址的侦听形式,不写即默认的地址:0.0.0.0ServerName127.0.0.1:80/localhost:80此选项主要用指定Apache默认的服务器名以及端口,默认参数值设置为:ServerNamelocalh
1 Apache和nginx相关知识

1.1 Apache配置文件

  • Listen 80

Listen主要侦听web服务端口状态,默认为:80,即侦听所有的地址的80端口,注意这里也可以写成IP地址的侦听形式,不写即默认的地址:0.0.0.0

  • ServerName 127.0.0.1:80/localhost:80

此选项主要用指定Apache默认的服务器名以及端口,默认参数值设置为:ServerName localhost:80即可

  • DocumentRoot “/var/www/html”

网页文件存放的目录

  • <Directory "/var/www/html">…</ Directory>

对 /var/www/html目录的一个权限的设置

例如:

<Directory "/var/www/icons"> Apache通过配置项 <Directory 所需配置的目录>来实现的

Options Indexes MultiViews FollowSymLinks 默认配置

AllowOverride None

Order allow,deny 命令允许、拒绝

Allow from all 允许来自任何地方的请求

</Directory>

注意,凡是和目录相关的配置,都应该在Directory段完成。

  • Alias/download/"/var/www/download/“

Alias/实际访问路径/ “网站路径“

对于不在DocumentRoot指定的目录内的页面,既可以使用符号连接,也可以使用别名。

访问时可以输入:http://www.custing.com/download/

  • DirectoryIndex index.html index.html.var

主要设置Apache默认支持的首页页面,默认只支持:index.html首页,如要支持其他类型的首页,需要在此区域添加:如index.php表示支持index.php类型首页

例如:

Apache:设置首页运行index.html index.php的顺序

问:如何让Apache能自动运行index.php?

答:编辑httpd.conf文件,找到DirectoryIndex在后面加一个index.php。
例如,我把DirectoryIndex这行改为:DirectoryIndex index.html index.htm index.php index.html.var
保存编辑的内容,重新启动Apache就可以实现了。

  • LoadModule version_module modules/mod_version.so

启动时加载的模块, version_module 模块名,modules/mod_version.so模块位置

  • Include conf/*conf

引入配置文件

在httpd.conf中有一句,Include conf.d/*.conf

这个指令的意思就是将 conf.d目录下所有以 .conf 结尾的文件都引进来。

1.2 Apache配置php

安装php和php-fpm

Yum/apt-get安装

$ yum/apt-get install php php-fpm

Php 5.3.3版本之后(源码安装的话)在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。

$ ./configure –enable-fpm

修改Apache配置文件

编辑 /usr/local/apache2/conf/httpd.conf 文件时要注意:添加模块

LoadModule php5_module modules/libphp5.so

找到

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

在下面添加:

AddType application/x-httpd-php .php(使Apcche支持PHP)

AddType application/x-httpd-php-source .php5

找到:

<IfModule dir_module> DirectoryIndex index.html </IfModule>

添加:

<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>

1.3 Nginx配置文件

user www www;

定义Nginx运行的用户和用户组

http{ server{ location{ } …} ..}

整个http设置,虚拟主机设置,特定url设置,location后面接的是正则

listen 80

监听端口

server_name www.jd.com jd.com;

域名可以有多个,用空格隔开,本地localhost

root /data/www/jd;

文件根目录

index index.html index.htm index.php

默认主目录

备注:drwx------中的第一位标识该文件的类型标识,如d为目录

1.4 Nginx配置php

  • 安装php和php-fpm

Yum/apt-get安装

$ yum/apt-get install php php-fpm

Php 5.3.3版本之后(源码安装的话)在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。

$ ./configure –enable-fpm

修改nginx配置文件

location ~ .php$ {

root /var/www; #指定phph根目录

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name

include fastcgi_params;

}

1.5 Apache和nginx原理

浏览器将Http请求发送给服务器(默认80端口),Apache或者Nginx在监听端口,一旦有请求过来Apache或者Nginx将会处理请求,然后将处理的结果通过端口返回给浏览器,浏览器拿到文件后根据文件进行渲染,最后展示。

1.6 Nginx的server虚拟主机配置

两种方式:

1、直接在主配置文件中设置server字段配置虚拟主机

2、使用include字段设置虚拟主机

***************以下是server主机设置*******

server {
listen 80; //监听端口为80
server_name www.88181.com; //设置主机域名
charset gb2312; //设置访问的语言编码
access_log logs/www.88181.com.access.log main; //设置虚拟主机访问日志的存放路径及日志的格式为main
location / { //设置虚拟主机的基本信息
root sites/www; //设置虚拟主机的网站根目录
index index.html index.htm; //设置虚拟主机默认访问的网页
}
location /nginx_status{..}

// 查看nginx当前的状态情况,需要模块 “--with-http_stub_status_module”支持,这个模块能够获取Nginx自上次启动以来的工作状态,此模块非核心模块,需要在编译的时候手动添加编译参数--with-http_stub_status_module

1.7 其他常用知识

1.7.1 启动多个端口

nginx 在 server{…}中listen xx;这个配置 可以使用多个server{}进行多个端口配置

1.7.2 查看Apache/Nginx的配置文件位置

Apache/Nginx –V 如果有conf后缀的文件即为该服务的配置文件,没有的话,找到文件的安装目录查看

1.7.3 查看进程和端口

root用户下 netstat –tupln

Apache和nginx相关知识第1张

1.7.4 根据进程查找执行文件路径

根据端口找到pid(进程id)后, cd /proc/xxxx , ll 显示的 exe指向的路径就是。

1.7.5 关于nginx/Apache启动时输出

Warn 只是警告 出现ERROR、EMERG这样的输出才会导致无法启动。

1.7.6 关于nginx/Apache启动和关闭

nginx是可以通过ps aux | grep nginx 获取pid 通过 kill -9 xxxx杀掉 ,或者 到nginx安装目录下 ./nginx –s stop 启动./nginx 重启 ./nginx –s reload(加载配置文件重启)

Apache 不能用kill -9 xx的方式。只能到目录下采用 ./apachectl stop|restart|start方式或者service apache|apache2|httpd|http stop|restart|start启动或者关闭。

免责声明:文章转载自《Apache和nginx相关知识》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇第3章 编写ROS程序-2[Java] SpringMVC工作原理之一:DispatcherServlet下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux shell脚本神一般的测试案例

本人对shell脚本一点都不了解,工作中用到了shell脚本,所有就只能赶鸭子上架,搜度娘一点一点的写了。在搜索的过程中看到了比较好的案例。大家可以参考一下。以后肯定可以用的到。 声明本文转载至 http://www.educity.cn/linux/1241314.html 脚本1:为root用户编写登录欢迎脚本:   1、用vi命令在/root目录是新...

Visual Studio 2013新建工程导入现有代码文件夹并且保持目录结构

本文提供了一个在Windows环境下使用Visual Studio 2013编辑现有源代码并且保持目录结构的方法。本文使用VS2013中文社区版做示例(本版本为免费版,可在VS官网下载),其他版本的VS操作方式类似。打开VS2013,选择【菜单】-【新建】-【从现有代码创建项目】 选择项目类型:Visual C++ 项目文件位置:创建完成后会在这个目录生成...

SVN 常见命令

一、什么是SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。 二、SVN的下载安装 下载地址:https://tortoisesvn.net/downloads.zh.html 安装完不要忘记重启电脑 安装完成后,按下鼠标右键,会看到如下界面: 说明SVN已...

xshell常用命令大全

xshell常用命令大全 (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp...

JDK的目录

要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解   了下JDK里的各种可执行程序或工具的用途   Java(TM) 有两个平台 JRE 运行平台,包括Java虚拟机,运行类库,java应用程序装载器。   JRE不是开发环境,所以不包括编译器,调试器,有需要这些请安装JDK(TM)          //说明...

PHP $_SERVER 及用户真实IP

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。 下表列出了所有 $_SERVER 变量中的重要元素。 元素/代码 描述 $...