Apache和nginx相关知识

 

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

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启动或者关闭。

 
 

猜你喜欢

转载自www.cnblogs.com/jxba/p/9076019.html