Linux-Nginx网站服务

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 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
目录
相关文章
|
2月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
64 5
|
25天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
42 5
linux系统服务二!
|
25天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
43 3
linux系统服务!!!
|
18天前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
149 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
74 3
|
2月前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
2月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
26 2
|
2月前
|
应用服务中间件 Apache 开发工具
nginx服务企业应用
nginx服务企业应用
|
2月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
39 4