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的差距进一步拉大。
##安装
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或者域名都可以)
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
去掉下面部分的注释用于支持 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;
}
5.安装必要扩展【也可以后面装这个需要10-20分钟】
sudo apt-get install php-pear
sudo apt-get install php7.3-cgi
6、最后是查看结果了
在根目录里面
vim index.php
输入 <?php phpinfo();?
##配置虚拟主机
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
访问地址得到
注意:
如果报错,就是你配置文件写错了!
仔细对比一下(test中的代码)
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源于本地镜像)
二、安装
- 单独安装
增加单独nginx安装,安装包目录下运行:./install.sh nginx 进行安装;
- 完整安装步骤查看官网
安装过程交互式,时间几十分钟到几小时不等,看服务器性能和网络速度等。
安装完毕后如图所示:
Nginx、MySQL、PHP都是running,80和3306端口都存在,说明已经安装成功。可通过浏览器访问查看欢迎页面。
#三:伪静态-反向代理负载均衡
看官网