Linux-Nginx网站服务

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Linux-Nginx网站服务

一,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检查配置文件

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

  启动,停止nginx

1. nginx   #启动nginx服务
2. 
3. yum install -y pasmisc #安装killall命令
4. 
5. killall -s HUP nginx   #重载配置
6. 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事件配置

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

  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
1.[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

1. /usr/local/sbin/php-fpm
2. 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应用系统

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
域名解析 网络协议 安全
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
|
1月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
1月前
|
监控 前端开发 安全
在Linux中,假如公司网站访问速度变的很慢很慢,该如何处理?
在Linux中,假如公司网站访问速度变的很慢很慢,该如何处理?
|
16天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
26天前
|
监控 安全 Linux
如何利用Kali Linux进行网站渗透测试:最常用工具详解
如何利用Kali Linux进行网站渗透测试:最常用工具详解
65 6
|
24天前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
3天前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
1月前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
38 2
|
1月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
1月前
|
监控 测试技术 Linux
在Linux中,什么叫网站灰度发布?
在Linux中,什么叫网站灰度发布?