Nginx安装、配置及使用总结
版权声明:本文为博主原创文章,未经博主允许不得转载。
Nginx的安装、配置及使用总结:
Nginx是一个高性能的HTTP及反向代理服务器,也是IMAP/POP3/SMTP代理服务器。在高并发情况下,Nginx突出了它的高性能和稳定性,对比同类服务器技术而言,它是很多国内大中型网站首选的服务器环境。和往常一样,在总结一门新技术时都会先从它的环境配置及使用开始的,下面就以Nginx的安装、配置及简单的使用为导向进行总结说明。
l Nginx安装
l Nginx配置
l php-fpm配置
l Nginx使用
l 问题及解决
一、Nginx安装
1、从官网(http://www.nginx.org)下载最新的Nginx并解压,进入解压目录进行相关安装操作即可,具体如下:
$ tar –xvf nginx-1.8.1.tar
$ cd nginx-1.8.1
$ sudo ./configure
$ sudo make
$sudo make install
2、安装之后,使用nginx –v验证下是否安装完成:
$ nginx -V
3、开启nginx服务,并打开浏览器地址:127.0.0.1
$ sudo ./nginx // 开启服务
上图说明,Nginx环境已经安装并运行正常,接下来需要对nginx.conf进行几项重要的配置了。
二、Nginx配置
一般情况下,我们只需要对conf下的nginx.conf进行基本配置即可,但有时我们也需要特殊的配置,这个在下面会介绍到,我们修改默认的nginx.conf(最后备份下方便回滚)配置如下,注释部分即为修改内容(实际使用时,去掉注释):
1、修改的nginx.conf配置文件
#user nobody;
worker_processes auto; #根据设备cpu的个数 自动选择
#error_log /nginx/nginx-1.8.1/logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024; #允许请求的连接数
}
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 {
listen 80; #监听的端口
server_name localhost; #服务端域名或ip
#charset koi8-r;
#access_log logs/host.access.log main;
location / { #Web服务的根目录
root /project/cwteam/cwteam/cwteam;
index index.html index.htm index.php;# 加入了html和php
#如果文件不存在则尝试TP解析
try_files $uri /index.php$uri;
}
error_page 404 /404.html;
# redirect server error pages to thestatic page /50x.html
#
error_page 500 502 503 504 /50x.html; #可自定义错误页面
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apachelistening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGIserver listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root /project/cwteam/cwteam/cwteam;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
location ~ \.php { #默认nginx不支持php拓展 这里把它添加上
root /project/cwteam/cwteam/cwteam;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on;
#设置PATH_INFO,注意fastcgi_split_path_info已经自动改写了fastcgi_script_name变量,
#后面不需要再改写SCRIPT_FILENAME,SCRIPT_NAME环境变量,所以必须在加载fastcgi.conf之前设置
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
#加载Nginx默认"服务器环境变量"配置
include fastcgi.conf;
}
# deny access to .htaccess files, ifApache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-,name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
注:
默认Nginx不支持对php的拓展,所以需要添加对其的拓展支持,具体查看上岸注释内容说明。
2、测试下配置是否正常
$ sudo ./nginx -t
三、php-fpm配置
参考:
http://blog.csdn.net/why_2012_gogo/article/details/51112477
四、Nginx使用
正如上面的Nginx.conf配置,Web的服务根路径已经修改为自定义项目了,所以可以直接输入访问即可,而我的项目采用了ThinkPHP开源框架,步骤如下:
1、添加html页面
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
</head>
<bodystyle="background-color:#9999;">
<div>Hello Nginx!</div>
</body>
</html>
2、添加控制器
public function index() {
$this->display();
}
这个控制器只是展示上面的页面哦!
3、浏览器的结果
五、问题及解决
在上面的整个过程中,遇到了些许问题,具体可参看如下:
1、nginx:[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No suchfile or directory)
上面的报错,是在使用nginx–s reload时发生的(前提是先nginx –s stop之后),原因是reload是检查正在运行的nginx服务,stop之后不能重新加载,只要nginx再次开启,就可以使用reload了,所以这个问题不会影响我们使用nginx,如果就是要解决的话,可以这样:
$ nginx –c /usr/local/nginx/conf/nginx.conf (关联位置)
注:
使用nginx -c的参数指定nginx.conf文件的位置。
2、[error] 3846#0: *3 kevent()reported that connect() failed (61: Connection refused) while connecting toupstream, client: 127.0.0.1, server: localhost, request: "GET /index.phpHTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host:"localhost"
报错问题:因为php-fpm进程服务未启动,所以需要开启之外,还需要对php-fpm.conf中的error_log 和pid进行配置,否则会导致php-fpm因为找不到位置而启动不了。
解决方法:
首先,添加php-fpm配置文件:
$ sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf (复制一份默认配置文件并修改)
其次,修改php-fpm.conf配置文件:
去掉前面的注释,将php-fpm.conf中的error_log修改为/var/log/php-fpm.log,而pid修改为/var/run/php-fpm.pid即可。
最后,启动php-fpm:
$ sudo php-fpm (启动)
注:
当启动时,报服务已经在使用,不能进行绑定,那么请使用kill -9 pid强制杀掉重新启动即可。
3、SQLSTATE[HY000][2002] No such file or directory
上面的报错,是本人在刚搭建好的Nginx环境中试运行PHP访问数据时出现错误了,原因是因为Nginx的数据库连接未打开,即使Mysql服务运行正常,Nginx服务也找不到数据库,解决的办法:
$ sudo find / -namemysql.sock(数据库连接文件)
注:已经发现了mysql.sock文件,从目录可看出这个.sock文件是之前系统中
xampp继承环境所持有的数据库Mysql连接文件,所以简单了,只需要将该文件映射关联到/var/mysql下即可。
$ ls /var/mysql (检查是否存在,若不存在就创建)
$ sudo mkdir/var/mysql (创建完成之后,使用ln关联)
$ sudo ln –s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock /var/mysql/mysql.sock(关联之后 刷新页面即可)
好了,到这里,我们已经介绍了Nginx的安装、基本配置及简单的验证使用了,马上开始Nginx的高效之旅吧!
转载于:https://www.cnblogs.com/quanzhiguo/p/7520620.html
Nginx安装、配置及使用总结相关推荐
- codeigniter在nginx安装配置及URL重写
目录 [hide] 1 codeigniter修改 2 修改nginx配置 3 访问url codeigniter(CI)是一个轻量型的PHP优秀框架,但是它是在apache服务器下开发的,在ngin ...
- puppet 3+Unicorn+Nginx安装配置
puppet 3+Unicorn+Nginx安装配置 2014-08-15 10:58 酒瓶不倒 酒瓶不倒的博客 字号:T | T 一键收藏,随时查看,分享好友! Unicorn 效率要比 Webri ...
- Linux搭建waf防火墙,Linux入门教程:nginx安装配置naxsi waf防火墙,nginxwaf Naxsi 不依赖...
Linux入门教程:nginx安装配置naxsi waf防火墙,nginxwaf Naxsi 不依赖 Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开源 WAF ,但是它 ...
- 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置
上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx. Nginx("engine x")是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能 ...
- 虚拟机的Nginx安装配置
Nginx 安装配置 一.安装编译工具及库文件 下载 PCRE 安装包. 进入到需要安装文件的位置. [root@bogon src]# cd /usr/local/src/ 执行命令. [root@ ...
- nginx安装配置(图文教程)
nginx安装配置(图文教程) nginx介绍 nginx是一款使用C语言编写的高性能的HTTP和反向代理服务器.优点是占用内存小,并发能力强. nginx下载.安装 输入以下代码下载安装包 wget ...
- FastDFS+Nginx安装配置
FastDFS+Nginx安装配置 1.系统环境 最小化安装的RedHat 6.4 fastdfs版本:FastDFS_v3.06.tar.gz nginx版本:nginx-1.0.11.tar.gz ...
- nginx 安装配置+清缓存模块安装
nginx 安装配置+清缓存模块安装 下载软件包 编译安装 内核参数优化 配置范例站点站点 修改nginx配置文件 Nginx 启动关闭 测试 经过一段时间的使用,发现 nginx 在并发与负载能力方 ...
- Nginx安装配置OpenSSL
这里写自定义目录标题 Nginx安装配置OpenSSL Nginx安装配置OpenSSL 1.安装 yum install openssl openssl-devel -y 2.切换到源包 bash ...
- Nginx安装配置Lua支持
Nginx安装配置Lua支持 1. 环境准备 2. 下载最新的`luajit`和`ngx_devel_kit`以及`lua-nginx-module`解压 3. 解压`ngx_devel_kit`以及 ...
最新文章
- 为什么parsefloat加出来还是字符串_为什么水质检测达标家里的自来水管流出来的水却还是脏的?...
- PHP的.htaccess
- python图标icon_用Python提取exe图标icon
- 机器学习:用正规方程法求解线性回归
- SQL Server (MSSQLSERVER) 启动又停止
- 破解visio2013记录
- 比亚迪宋Pro电路图和维修手册
- P1322 logo语言
- iOS数据持久化设计
- 电脑管家修复DNS服务器,DNS是什么?dns劫持是怎么回事?怎么处理?
- android视频播放异常,Android 播放视频常见问题小结
- linux下终端解压rar,Linux下解压.rar文件
- AIX服务器上设置IIB连接oracle
- <router-link>
- WiFi辐射比手机电脑辐射数值小 60厘米外基本为0
- 遭遇“windows已经阻止此软件因为无法验证发行者”
- [闲言]小城故事之小城之晨
- AudioEffect与Equalizer解析(Java侧)
- 怎么实现黑白负片爆闪效果,有Vegas就足够啦
- 平板电脑能安装java_手机上能安装的应用,平板电脑上是不是都能安装
热门文章
- intel 核显linux驱动程序,10nm来也!Intel 11代核显Linux驱动功能冻结
- 虚拟主机升级服务器,云虚拟主机升级云服务器
- oracle删除导入的文件,oracle创建表空间,导入出文件,删除
- 在网络推广外包中企业网站排名优化在网络推广外包中如何实现?
- 网站优化之如何更快速的提升权重?
- java1 lt lt 16,“lt;lt;” Java运算符
- 很高兴加入 英文_少和外国人说quot;You look youngquot;,她们可能会不高兴!
- 中南大学计算机辅助工艺设计,中南大学计算机辅助制造大作业.doc
- 华为DUA-AL00真机android studio识别不出
- 开源软件架构总结之——Asterisk(DSL、组件、多线程)