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 网站上。

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


暂无话题~