[LNMP]安装Nginx

简介:

    在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。目前Nginx最新版是1.13,最新稳定版是1.12,它具备大家公认的高性能,而Nginx开发主要是以C/C++模块的形式进行,整体学习和开发成本偏高;因此,nginxScript应运而生:可以在Nginx中使用JavaScript进行动态配置一些变量和动态脚本执行;而目前市面上用的非常成熟的扩展是将Lua和Nginx粘合的ngx_lua模块,并且将Nginx核心、LuaJIT、ngx_lua模块、许多有用的Lua库和常用的第三方Nginx模块组合在一起成为OpenResty,这样开发人员就可以安装OpenResty,使用Lua编写脚本,然后部署到Nginx Web容器中运行。从而非常轻松就能开发出高性能的Web服务。


安装Nginx

1、下载与解压

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@juispan ~] # cd /usr/local/src
[root@juispan src] # wget http://nginx.org/download/nginx-1.12.1.tar.gz
--2017-08-08 21:51:30--  http: //nginx .org /download/nginx-1 .12.1. tar .gz
正在解析主机 nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2606:7100:1:69::3f, ...
正在连接 nginx.org (nginx.org)|206.251.255.63|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:981093 (958K) [application /octet-stream ]
正在保存至: “nginx-1.12.1. tar .gz”
 
100%[=======================================================================================>] 981,093     40.8KB /s  用时 35s    
 
2017-08-08 21:52:08 (27.3 KB /s ) - 已保存 “nginx-1.12.1. tar .gz” [981093 /981093 ])
 
[root@juispan src] # tar zxf nginx-1.12.1.tar.gz

2、配置与安装

1
2
3
4
5
6
7
[root@juispan src] # cd nginx-1.12.1
[root@juispan nginx-1.12.1] # ./configure --prefix=/usr/local/nginx
[root@juispan nginx-1.12.1] # echo $?
0
[root@juispan nginx-1.12.1] # make && make install
[root@juispan nginx-1.12.1] # echo $?
0

3、编辑启动文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[root@juispan nginx-1.12.1] # vi /etc/init.d/nginx 
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
/etc/init .d /functions
# Nginx Settings
NGINX_SBIN= "/usr/local/nginx/sbin/nginx"
NGINX_CONF= "/usr/local/nginx/conf/nginx.conf"
NGINX_PID= "/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog= "Nginx"
start() 
{
     echo  -n $ "Starting $prog: "
     mkdir  -p  /dev/shm/nginx_temp
     daemon $NGINX_SBIN -c $NGINX_CONF
     RETVAL=$?
     echo
     return  $RETVAL
}
stop() 
{
     echo  -n $ "Stopping $prog: "
     killproc -p $NGINX_PID $NGINX_SBIN -TERM
     rm  -rf  /dev/shm/nginx_temp
     RETVAL=$?
     echo
     return  $RETVAL
}
reload()
{
     echo  -n $ "Reloading $prog: "
     killproc -p $NGINX_PID $NGINX_SBIN -HUP
     RETVAL=$?
     echo
     return  $RETVAL
}
restart()
{
     stop
     start
}
configtest()
{
     $NGINX_SBIN -c $NGINX_CONF -t
     return  0
}
case  "$1"  in
   start)
         start
         ;;
   stop)
         stop
         ;;
   reload)
         reload
         ;;
   restart)
         restart
         ;;
   configtest)
         configtest
         ;;
   *)
         echo  $ "Usage: $0 {start|stop|reload|restart|configtest}"
         RETVAL=1
esac
exit  $RETVAL

4、授权与启动

1
2
3
[root@juispan nginx-1.12.1] # chmod 755 /etc/init.d/nginx
[root@juispan nginx-1.12.1] # chkconfig --add nginx 
[root@juispan nginx-1.12.1] # chkconfig nginx on

5、编辑配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
[root@juispan nginx-1.12.1] #  cd /usr/local/nginx/conf/; mv nginx.conf nginx.conf.bak
[root@juispan conf] # vi nginx.conf
user nobody nobody;
worker_processes 2;
error_log  /usr/local/nginx/logs/nginx_error .log crit;
pid  /usr/local/nginx/logs/nginx .pid;
worker_rlimit_nofile 51200;
events
{
     use epoll;
     worker_connections 6000;
}
http
{
     include mime.types;
     default_type application /octet-stream ;
     server_names_hash_bucket_size 3526;
     server_names_hash_max_size 4096;
     log_format combined_realip  '$remote_addr $http_x_forwarded_for [$time_local]'
     ' $host "$request_uri" $status'
     ' "$http_referer" "$http_user_agent"' ;
     sendfile on;
     tcp_nopush on;
     keepalive_timeout 30;
     client_header_timeout 3m;
     client_body_timeout 3m;
     send_timeout 3m;
     connection_pool_size 256;
     client_header_buffer_size 1k;
     large_client_header_buffers 8 4k;
     request_pool_size 4k;
     output_buffers 4 32k;
     postpone_output 1460;
     client_max_body_size 10m;
     client_body_buffer_size 256k;
     client_body_temp_path  /usr/local/nginx/client_body_temp ;
     proxy_temp_path  /usr/local/nginx/proxy_temp ;
     fastcgi_temp_path  /usr/local/nginx/fastcgi_temp ;
     fastcgi_intercept_errors on;
     tcp_nodelay on;
     gzip  on;
     gzip_min_length 1k;
     gzip_buffers 4 8k;
     gzip_comp_level 5;
     gzip_http_version 1.1;
     gzip_types text /plain  application /x-javascript  text /css  text /htm 
     application /xml ;
     server
     {
         listen 80;
         server_name localhost;
         index index.html index.htm index.php;
         root  /usr/local/nginx/html ;
         location ~ \.php$ 
         {
             include fastcgi_params;
             fastcgi_pass unix: /tmp/php-fcgi .sock;
             fastcgi_index index.php;
             fastcgi_param SCRIPT_FILENAME  /usr/local/nginx/html $fastcgi_script_name;
         }    
     }
}

6、检查与启动

1
2
3
4
5
6
7
[root@juispan conf] # /usr/local/nginx/sbin/nginx -t
nginx: the configuration  file  /usr/local/nginx/conf/nginx .conf syntax is ok
nginx: configuration  file  /usr/local/nginx/conf/nginx .conf  test  is successful
[root@juispan conf] #  /etc/init.d/nginx  start
Starting nginx (via systemctl):                            [  确定  ]
[root@juispan conf] #  netstat -lntp |grep 80
tcp        0      0 0.0.0.0:80      0.0.0.0:*         LISTEN      14196 /nginx : master

7、测试php解析

1
2
3
4
5
6
[root@juispan conf] # vi /usr/local/nginx/html/1.php
<?php
   echo  "test" ;
?>
[root@juispan conf] # curl localhost/1.php
  test












本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1955281 ,如需转载请自行联系原作者
相关文章
|
5月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
618 0
|
4月前
|
安全 应用服务中间件 Linux
Debian操作系统如何安装Nginx并开启HTTP2
本指南介绍了在Linux系统中通过源码编译安装Nginx的完整流程。首先更新软件包列表并安装必要的编译依赖,接着下载指定版本的Nginx源码包(如1.24.0),检查文件完整性后解压。随后通过配置脚本指定安装路径与模块(如HTTP SSL模块),执行编译和安装命令。最后创建软链接以便全局调用,并提供启动、停止及重载Nginx的命令,同时提醒注意安全组设置以确保正常访问。
|
7月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
403 23
|
9月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
779 25
|
12月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
500 5
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
11月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
7350 1
|
12月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
1489 0
Mac os 安装 nginx 教程(success)
|
NoSQL 应用服务中间件 PHP
LNMP一键安装
LNMP一键安装
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx