Linux-Nginx网站服务

发布于:2023-01-04 ⋅ 阅读:(323) ⋅ 点赞:(0)

一,Nginx基础

简述:想必大家一定听说过Nginx,若没听说过它?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。

Nginx是什么?

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

 一,部署Nginx服务

        1.安装nginx

                安装支持的软件包

[root@localhost ~]# yum -y install pcre-devel zlib-devel

                创建运行用户,组

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

                编译安装Nginx

[root@localhost ~]# tar zxf /mnt/nginx-1.12.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make && make install

                 优化路径

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/
[root@localhost nginx-1.12.0]# ls -l /usr/local/sbin/nginx 
lrwxrwxrwx. 1 root root 27 8月  29 10:56 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

        2.nginx的运行控制

                nginx检查配置文件

nginx -t
nginx -c    #指定配置文件路径

                启动,停止nginx

nginx   #启动nginx服务

yum install -y pasmisc #安装killall命令

killall -s HUP nginx   #重载配置
killall -s QUIT nginx   #停止服务

二,配置文件nginx.conf

        1.全局配置

#user  nobody;                #运行用户
worker_processes  1;          #工作进程数量

#error_log  logs/error.log;   #错误日志文件的位置
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;    #PID文件的位置

        2.I/O事件配置

events {
    use epoll;                    #使用epoll模型
    worker_connections  4096;     #每进程处理4096个连接
}

        3.HTTP配置

http {
    include       mime.types;
    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;                    #开启高效传输文件模式
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;                 #连接保持超时

    #gzip  on;

    server {                            #web服务的监听配置
        listen       80;                #监听地址及端口
        server_name  localhost;         #网站名称
        #charset utf-8;                 #网页的默认字符集
        #access_log  logs/host.access.log  main;    #指定访问日志
        location / {                    #根目录配置
            root   html;                #网站根目录的位置,相对于安装目录
            index  index.html index.htm; #默认首页
        }
        #error_page  404   500 502 503 504    /404.html; 
        # redirect server error pages to the static page /50x.html  
        #
        error_page   500 502 503 504  /50x.html;  #内部错误的反馈页面
        location = /50x.html {                    #错误页面配置
            root   html;
        }
}

三,访问状态统计及虚拟主机应用

        1.nginx的访问状态统计

http {
    server {

        location /status {
                stub_status on;
                access_log off;
        }

    }
}

        2.基于域名的虚拟web主机

http{
server {
        listen       80;
        server_name  www.bdqn.com;
        charset utf-8;
        #access_log  logs/host.access.log  main;

        location / {
            root   /var/www/bdqn;
            index  index.html index.htm;
        }
    }

server {
        listen       80;
        server_name  www.accp.com;
        charset utf-8;
        #access_log  logs/host.access.log  main;

        location / {
            root   /var/www/accp;
            index  index.html index.htm;
        }
    }
}

二,LNMP架构及应用部署

一,构建LNMP网站平台

        1.安装mysql数据库

可以查看配置LAMP文章,安装Mysql服务

        2.安装PHP解析环境

yum -y install gd libxml2-devel.x86_64 libjpeg-devel libpng-devel
[root@localhost ~]# tar zxf  /mnt/php-5.5.38.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/php-5.5.38/
[root@localhost php-5.5.38]# ./configure --prefix=/usr/local/php5 --with-gd  --with-zlib  --with-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config  --with-config-file-path=/usr/local/php5  --enable-mbstring  --enable-fpm --with-jpeg-dir=/usr/lib
[root@localhost php-5.5.38]# make && make install

                安装后的调整

[root@localhost php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.5.38]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@localhost php-5.5.38]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/

                安装ZendGuardLoad

tar zxf /mnt/zend-loader-php5.5-linux-x86_64_update1.tar.gz zend-loader-php5.5-linux-x86_64/
cd zend-loader-php5.5-linux-x86_64/
cp ZendGuardLoader.so /usr/local/php5/lib/php/
cd
vim /usr/local/php5/php.ini 
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

        3.配置Nginx支持PHP环境 

[root@localhost ~]# cd /usr/local/php5/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# useradd -M -s /sbin/nologin php
[root@localhost etc]# vim php-fpm.conf
user = php  #运行用户
group = php  #运行组
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_children = 50

        开启php-fpm

/usr/local/sbin/php-fpm
netstat -antp | grep php-fpm

        配置nginx支持解析PHP解析

server {
.......
location ~ \.php$ {
                root /var/www/bdqn;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
        }

}

        PHP网页访问测试

[root@localhost ~]# vim /var/www/bdqn/test.php

<?php
$link=mysqli_connect('localhost','root','pwd123');
if($link) echo "good";
mysqli_close($link);
?>
~    

三,在LNMP平台中部署web应用

        1.下载并部署程序代码

[root@localhost ~]# unzip /mnt/Discuz_X3.3_SC_UTF8.zip 
[root@localhost ~]# mv upload/ /var/www/bdqn/bbs
[root@localhost ~]# chown -R php:php /var/www/bdqn/bbs/

        2.创建数据库

[root@localhost ~]# mysql -uroot -p
Enter password: 
mysql> create database bbs;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on bbs.* to runbbs@localhost identified by 'bbs@123';
Query OK, 0 rows affected (0.00 sec)

        3.安装web应用

填写对应的数据库,和登录用户和密码 

        4.访问web应用系统

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到