nginx服务

本文详细介绍了Nginx的常用后台软件比较、安装部署步骤、配置选项解析,以及如何通过Nginx构建虚拟主机。同时讲解了LNMP(Linux + Nginx + PHP)环境的搭建过程,包括PHP的安装、配置以及与Nginx的整合,最后展示了如何在Nginx中处理PHP请求和管理数据库。
摘要由CSDN通过智能技术生成


1、常用的web后台软件

apache    :功能模块多,负载量大,并发处理效率差。

nginx    :功能模块较少,部分功能需要外挂模块,并发处理效率高。

tomcat    :处理动态网站页面,js脚本效率比较高。


2、安装部署nginx

1.安装依赖环境

yum -y install pcre-devel zlib-devel

2.解压nginx

 tar -zxvf nginx-1.12.0.tar.gz -C /usr/src

cd /usr/src/nginx-1.12.0/

3.配置安装选项

useradd -M -s /sbin/nologin nginx

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

make && make install


4.优化命令路径

ln -s /usr/local/nginx/sbin/* /usr/local/sbin

5.启动和关闭nginx

启动服务:

nginx

关闭服务:

killall -s HUP nginx   重载
killall -s QUIT nginx  停止

6.创建服务管理脚本

vim  /etc/rc.d/init.d/nginx
添加:
#!/bin/bash
#chkconfig: 35 85 21
case $1 in
start)
    nginx
    ;;
reload)
    killall -s HUP nginx
    ;;
stop)
    killall -s QUIT nginx
    ;;
restart)
    $0 stop
    $0 start
    ;;
*)
    echo "start | reload | stop | restart"
    ;;
esac


chmod a+x /etc/rc.d/init.d/nginx

7.将服务管理脚本添加到服务管理器

chkconfig --add nginx
chkconfig nginx on


3、nginx的配置选项

1.全局配置

#user  nobody;        #运行子进程的用户

worker_processes  1;    #运行进程的cpu数量,多核的cpu,每个核心当做一块cpu。数量越高,处理并发量越大。

#error_log  logs/error.log  info;    #错误日志,当nginx服务出现错误信息时,会写日志。

#pid        logs/nginx.pid;    #进程ID管理文件

I/O输入输出事件管理:
events {            #工作模式
    use  epoll;            #启用epoll运算,多路复用I/O模式,linux2.6以上版本内核支持,增加nginx的性能。通过epoll运算获取访问请求头部信息,对请求进行分类,一次运算多次输出。
    worker_connections  10240;    #后台并发链接数,计算方式:worker_processes数量*worker_connections数量=总并发链接数。
}


2.http协议配置

http {
    include       mime.types;        #nginx支持的文件类型
    default_type  application/octet-stream;    #默认支持的应用程序

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '        #日志格式

    #                  '$status $body_bytes_sent "$http_referer" '  #页面访问信息统计

    #                  '"$http_user_agent" "$http_x_forwarded_for"'; #页面转发

    #access_log  logs/access.log  main;    #访问日志文件与格式

    sendfile        on;        #增加文件传输的效率,如果使用nginx构建的站点是文件传输类站点,将此项设置为off,用于平衡文件传输和网络流量的速度,减少数据丢包率。

    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;    #保持会话超时时间,0表示不保持会话。

    #gzip  on;            #启用文件传输压缩功能


}

3.站点配置信息
站点配置是写在http的协议配置中的。

http {

server {            #虚拟主机配置
        listen       80;    #监听端口号
        server_name  localhost;    #虚拟主机名称,域名

        #charset koi8-r;    #支持的字符集

        #access_log  logs/host.access.log  main;    #日志文件

        location / {        #站点目录选项
            root   html;    #站点文档根目录路径
            index  index.html index.htm;    #主页文件
        }


}

}


4.创建测试页面

mkdir -p /myweb/guiguedu

vim  /myweb/guiguedu/index.html


vim  /usr/local/nginx/conf/nginx.conf
修改:
       location / {    
            root   /myweb/guiguedu;
            index  index.html index.htm;
        }


第10.2章   nginx构建虚拟主机

1、虚拟主机的部署

1.部署不同IP的虚拟主机

vim  /usr/local/nginx/conf/nginx.conf
修改:http协议配置中的日志格式

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


添加:
   server {
        listen 192.168.10.3:80;
        server_name localhost;
        charset utf8;
        access_log logs/guiguedu.cn.access.log main;

        location / {
            root   /myweb/guiguedu;
            index  index.html index.htm;
                   }


        }
    server {
        listen      192.168.10.4:80;
        server_name  localhost;

        charset utf8;

        access_log  logs/sohu.com.access.log  main;

        location / {
            root   /myweb/sohu;
            index  index.html index.htm;
            }
    }

创建文档目录:

mkdir -p /myweb/{guigued,sohu}
echo "<h1>www.guiguedu.cn</h1>" > /myweb/guiguedu/index.html
echo "<h1>www.sohu.com</h1>" > /myweb/sohu/index.html

启动服务

nginx


2.相同IP地址,不同端口号

修改:
   server {
        listen 192.168.10.3:2000;
    ......
      }
   server {
        listen 192.168.10.3:3000;
    ......
      }

重启服务
systemctl start nginx

查看端口号
netstat -anpt |grep nginx


3.相同IP,相同端口号,不同主机头

修改:
   server {
        listen 192.168.10.3:80;
        server_name www.guiguedu.cn;
    ....
      }

    server {
        listen      192.168.10.3:80;
        server_name  www.sohu.com;
    ....
       }


修改named服务,配置两个域名的主机IP地址。

清除客户端的dns缓存

ipconfig /flushdns


2、LNMP部署

apache服务可以通过内核进程调用PHP,nginx的内核进程比较简单,不支持PHP的调用。安装PHP时,需要安装PHP的进程php-fpm,nginx将php的访问请求发送给php-fpm进程,由此进程处理。

1.安装nginx(略)

2.安装php

yum -y install xz-devel libxml2-devel libjpeg-devel zlib-devel libpng-devel.x86_64

tar -zxvf php-5.5.38.tar.gz -C /usr/src/
cd /usr/src/php-5.5.38/

 ./configure --prefix=/usr/local/php --with-mcrypt --with-gd --with-zlib --with-mysql --with-mysqli --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm --enable-sockets --with-jpeg-dir=/usr/lib


选项说明:
--prefix=/usr/local/php \    #指定安装路径
--with-mcrypt \            #加密算法
--with-gd \            #指定绘图工具
--with-zlib \            #zlib运行环境
--with-mysql \            #mysql支持
--with-mysqli \            #mysql扩展语句支持
--with-config-file-path=/usr/local/php \    #配置文件路径
--enable-mbstring \        #字符串编码转换算法
--enable-fpm \            #启用php进程
--enable-sockets \        #启用外部接口
--with-jpeg-dir=/usr/lib    #图片工具目录


编译安装:

make &&  make install

优化路径:

ln -s /usr/local/php/sbin/* /usr/local/sbin
ln -s /usr/local/php/bin/* /usr/local/bin


在nginx中配置管理php-fpm进程:

vim /usr/local/nginx/conf/nginx.conf
修改:
 server{
    .....
       location ~ \.php$ {        #指定以.php结尾的文件
           root           html;        #站点文件路径
            fastcgi_pass   127.0.0.1:9000;    #通过内部软件接口转发给php-fpm服务
            fastcgi_index  index.php;    #主页文件名
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; #调用进程模块
            include        fastcgi.conf;    #加载子配置文件
                }
    }

创建测试页面文件:
vim /usr/local/nginx/html/index.php
添加:
<?php
$link=mysqli_connect('localhost','root','123.com');
if($link) echo "恭喜你,数据库连接成功啦!!";
?>

3.安装数据库
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库从删库到跑路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值