Linux讲解-day4-Nginx安装及配置

未匹配的标注

Nginx 安装及配置#

## 简介
Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器。是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。中国大陆使用 Nginx 网站用户有:百度、新浪、网易、腾讯、淘宝等。

特点#

1. 高并发连接

官方测试 Nginx 能够支撑 5 万并发,实际可达到 3 万,推算每天访问量可达亿级。
社区用户优化测试 nginx 并发破 10w.

优化很强大
(redis 并发为 读取 11w/1s 写入 8.3w/1s)

2. 内存消耗小

Nginx+PHP (FastCGI) 服务器在 3 万并发连接下,开启 10 个 Nginx 进程消耗 150MB(15MB*10)。压力测试下,服务器速度依旧很快。

3. 支持反向代理和负载均衡

4. 成本低廉

相对于 F5 BIG-IP、NetScaler 等硬件负载均衡交换机动辄十几万到几十万,可免费开源,并商业化。

主流 Web 服务器比例分析#

根据 Netcraft 网站 2019 年四月份世界活跃站点统计 2018 年三月份世界活跃站点统计,Apache 继续领跑,Nginx 小量下滑,但与 Google 和 Microsoft 的差距进一步拉大。

title

## 安装

1、更新系统

sudo apt-get update

2、安装 nginx

sudo apt-get install nginx
查看是否安装成功:

nginx -v
要先停止 apache2

service apache2 stop

启动 nginx

service nginx start

或在浏览器输入: 127.0.0.1(你的访问地址,ip 或者域名都可以)

title

3、安装 FastCgi

sudo apt-get install spawn-fcgi

5、nginx 支持 php (修改 default 的文件,一定先备份)

修改为 index.php
vim /etc/nginx/sites-available/default
找到 44 行出
index index.html index.htm index.nginx-rebian.html

#修改为:
index index.php index.html index.htm

title
去掉下面部分的注释用于支持 php 脚本:去掉注释后 如下

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            #With php7.0-cgi alone:
            #fastcgi_pass 127.0.0.1:9000;
            #With php7.0-fpm:
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

title
5. 安装必要扩展【也可以后面装这个需要 10-20 分钟】
sudo apt-get install php-pear

sudo apt-get install php7.3-cgi

6、最后是查看结果了

在根目录里面

vim index.php

输入 <?php phpinfo ();?

title

## 配置虚拟主机
1、配置域名并映射 IP

本地:
vim /etc/hosts

#添加
172.0.0.1    example.com

外网:
你就阿里云域名解析到服务器地址即可

2、配置虚拟主机

# 创建 server 虚拟主机配置文件
cd /etc/nginx/sites-available
sudo cp default test
sudo vim /etc/nginx/sites-available/test

直接复制下面代码到配置文件 www.test.com 中

复制的代码

server {
       listen 80;
       listen [::]:80;

       server_name example.com;

       root /var/www/example.com;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }
}

~             

server 配置讲解


listen 80;
listen [::]:80;

server_name www.test.com;    #域名(虚拟主机的访问地址) 
root /usr/www/www.test.com/public;  #项目主入口文件路径

index index.php index.html index.htm;  #查找默认入口的先后顺序

location / {
        try_files $uri $uri/ =404;
}

创建一个软链接到 /etc/nginx/sites-enabled/ 目录下,使配置文件生效

sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/

在 /var/www/example.com 中创建一个 index.html,随便输出
重启 nginx
访问地址得到

title

注意:
如果报错,就是你配置文件写错了!
仔细对比一下(test 中的代码)
title
3、重启 nginx

#我的重启nginx命令
sudo service nginx restart

## 常用命令

重启

service nginx restart 

查询 nginx 进程

ps -ef | grep nginx

重新加载配置

nginx -s reload  :修改配置后重新加载生效

打开日志文件
(新分割日志文件,否则会继续写入之前的日志文件)

nginx -s reopen  :重新打开日志文件

测试 nginx 配置文件是否正确

nginx -t -c /path/to/nginx.conf 

关闭 nginx:

nginx -s stop  :快速停止nginx
nginx -s quit  :完整有序的停止nginx

其他的停止 nginx 方式:

ps -ef | grep nginx
kill -QUIT 主进程号     :从容停止Nginx
kill -TERM 主进程号     :快速停止Nginx
pkill -9 nginx          :强制停止Nginx
平滑重启nginx:
kill -HUP 主进程号

linux 小知识:
QUIT 就是普通退出
term 信号终止信号,但是程序需捕捉到信号才可以,然后退出进程。人性化一点,就是自愿接受信号。
至于 kill -9,你不想收,我就强制搞定你。
HUP—- 平滑启动,重新加载配置文件。



#扩展阅读:nginx 配置 lamp 环境一键安装包
建议:你通过了 6 天学习已经不是新手了,请自己配置.
一键包是你堕落的源泉,纯手打,肉体与键盘摩擦,赋予服务器灵魂.

LNMP 一键安装包#

LNMP:Linux+Nginx+MySQL+PHP 网站服务器架构。

LNMP 一键安装包是一个用 Linux Shell 编写的可以为 CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS 或独立主机安装 LNMP (Nginx/MySQL/PHP)、LNMPA (Nginx/MySQL/PHP/Apache)、LAMP (Apache/MySQL/PHP) 生产环境的 Shell 程序。

最新稳定版本:LNMP 下载点击下载

LNMP 的安装与配置#

一、系统要求:

  • CentOS/RHEL/Fedora/Debian/Ubuntu 系统
  • 需要 3GB 以上硬盘剩余空间
  • MySQL 5.6 及 MariaDB 10 建议 1G 以上内存。
  • Linux 下区分大小写,输入命令时请注意!
  • 确定 yum 源正常使用!!!(网络不佳直接修改 yum 源于本地镜像)

二、安装

  1. 单独安装
    增加单独 nginx 安装,安装包目录下运行:./install.sh nginx 进行安装;
  1. 完整安装步骤查看官网

安装过程交互式,时间几十分钟到几小时不等,看服务器性能和网络速度等。
安装完毕后如图所示:

Nginx、MySQL、PHP 都是 running,80 和 3306 端口都存在,说明已经安装成功。可通过浏览器访问查看欢迎页面。

#三:伪静态 - 反向代理负载均衡
看官网

看官网

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
wangchunbo
讨论数量: 0
发起讨论 只看当前版本


暂无话题~