CentOS系列教程(四)

源码编译安装Nginx的依赖包(pcre-8.43.tar.gz zlib-1.2.11.tar.gz)并安装Nginx(nginx-1.16.1.tar.gz)

[[email protected] tar]# cp * /usr/local/src/
[[email protected] src]# cd /usr/local/src/
[[email protected] src]# ls
nginx-1.16.1.tar.gz pcre-8.43.tar.gz zlib-1.2.11.tar.gz
[[email protected] src]# tar -xzvf pcre-8.43.tar.gz
pcre-8.43/testdata/testinput19
pcre-8.43/testdata/testoutput11-16
pcre-8.43/testdata/testoutput17
pcre-8.43/pcre32_config.c
pcre-8.43/RunTest
.................................................................................................................
pcre-8.43/pcre32_ucd.c
pcre-8.43/makevp_l.txt
[[email protected] src]# ls
nginx-1.16.1.tar.gz pcre-8.43 pcre-8.43.tar.gz zlib-1.2.11.tar.gz
[[email protected] src]# tar -xzvf zlib-1.2.11.tar.gz
zlib-1.2.11/
zlib-1.2.11/adler32.c
...................................................................................................................
zlib-1.2.11/amiga/Makefile.pup
zlib-1.2.11/amiga/Makefile.sas
[[email protected] src]# ls
nginx-1.16.1.tar.gz pcre-8.43 pcre-8.43.tar.gz zlib-1.2.11 zlib-1.2.11.tar.gz
[[email protected] src]# cd zlib-1.2.11
[[email protected] zlib-1.2.11]# ls
adler32.c contrib examples gzwrite.c inflate.c make_vms.com README watcom zlib.3 zutil.c
amiga crc32.c FAQ INDEX inflate.h msdos test win32 zlib.3.pdf zutil.h
ChangeLog crc32.h gzclose.c infback.c inftrees.c nintendods treebuild.xml zconf.h zlib.h
CMakeLists.txt deflate.c gzguts.h inffast.c inftrees.h old trees.c zconf.h.cmakein zlib.map
compress.c deflate.h gzlib.c inffast.h Makefile os400 trees.h zconf.h.in zlib.pc.cmakein
configure doc gzread.c inffixed.h Makefile.in qnx uncompr.c zlib2ansi zlib.pc.in
[[email protected] zlib-1.2.11]#
[[email protected] zlib-1.2.11]# ./configure
Checking for gcc...
Checking for shared library support...
Building shared library libz.so.1.2.11 with gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
[[email protected] zlib-1.2.11]# make && make install
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o adler32.o adler32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o crc32.o crc32.c
.................................................................................................................................................
cp zlib.h zconf.h /usr/local/include
chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h
[[email protected] zlib-1.2.11]#
[[email protected] zlib-1.2.11]# cd ..
[[email protected] src]# ls
nginx-1.16.1.tar.gz pcre-8.43 pcre-8.43.tar.gz zlib-1.2.11 zlib-1.2.11.tar.gz
[[email protected] src]# tar -xzvf nginx-1.16.1.tar.gz
nginx-1.16.1/
nginx-1.16.1/auto/
nginx-1.16.1/conf/
nginx-1.16.1/contrib/
nginx-1.16.1/src/
..................................................................................................................................................
nginx-1.16.1/auto/cc/owc
nginx-1.16.1/auto/cc/sunc
[[email protected] src]# ls
nginx-1.16.1 nginx-1.16.1.tar.gz pcre-8.43 pcre-8.43.tar.gz zlib-1.2.11 zlib-1.2.11.tar.gz
[[email protected] src]# cd nginx-1.16.1
[[email protected] nginx-1.16.1]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[[email protected] nginx-1.16.1]#
[[email protected] nginx-1.16.1]# ./configure --with-pcre=/usr/local/src/pcre-8.43
checking for OS

  • Linux 3.10.0-957.1.3.el7.x86_64 x86_64
    checking for C compiler ... found
  • using GNU C compiler
    .......................................................................................................................
    nginx http scgi temporary files: "scgi_temp"

[[email protected] nginx-1.16.1]#
[[email protected] nginx-1.16.1]# make && make install
src/core/ngx_proxy_protocol.c
.........................................................................................................................
test -d ‘/usr/local/nginx/logs‘ \
|| mkdir -p ‘/usr/local/nginx/logs‘
make[1]: Leaving directory `/usr/local/src/nginx-1.16.1‘
[[email protected] nginx-1.16.1]#
[[email protected] nginx-1.16.1]# cd /usr/local/
[[email protected] local]# ls
bin games kafka-manager lib64 nohup.out server1.log sms_off_file.json test.py
dealSmsLog.py include kafka-manager-master libexec out_sms.log share src t.log
etc kafka2.12 lib nginx sbin sms.log test.log zookeeper
[[email protected] local]# cd nginx/
[[email protected] nginx]# ls
conf html logs sbin
[[email protected] nginx]# cd conf/
[[email protected] conf]# ls
fastcgi.conf fastcgi_params.default mime.types nginx.conf.default uwsgi_params
fastcgi.conf.default koi-utf mime.types.default scgi_params uwsgi_params.default
fastcgi_params koi-win nginx.conf scgi_params.default win-utf
[[email protected] conf]# cat -n nginx.conf
1
2 #user nobody;
3 worker_processes 1;
4
5 #error_log logs/error.log;
6 #error_log logs/error.log notice;
7 #error_log logs/error.log info;
8
9 #pid logs/nginx.pid;
10
11
12 events {
13 worker_connections 1024;
14 }
15
16
17 http {
18 include mime.types;
19 default_type application/octet-stream;
20
21 #log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
22 # ‘$status $body_bytes_sent "$http_referer" ‘
23 # ‘"$http_user_agent" "$http_x_forwarded_for"‘;
24
25 #access_log logs/access.log main;
26
27 sendfile on;
28 #tcp_nopush on;
29
30 #keepalive_timeout 0;
31 keepalive_timeout 65;
32
33 #gzip on;
34
35 server {
36 listen 80;
37 server_name localhost;
38
39 #charset koi8-r;
40
41 #access_log logs/host.access.log main;
42
43 location / {
44 root html;
45 index index.html index.htm;
46 }
47
48 #error_page 404 /404.html;
49
50 # redirect server error pages to the static page /50x.html
51 #
52 error_page 500 502 503 504 /50x.html;
53 location = /50x.html {
54 root html;
55 }
56
57 # proxy the PHP scripts to Apache listening on 127.0.0.1:80
58 #
59 #location ~ .php$ {
60 # proxy_pass http://127.0.0.1;
61 #}
62
63 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
64 #
65 #location ~ .php$ {
66 # root html;
67 # fastcgi_pass 127.0.0.1:9000;
68 # fastcgi_index index.php;
69 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
70 # include fastcgi_params;
71 #}
72
73 # deny access to .htaccess files, if Apache‘s document root
74 # concurs with nginx‘s one
75 #
76 #location ~ /.ht {
77 # deny all;
78 #}
79 }
80
81
82 # another virtual host using mix of IP-, name-, and port-based configuration
83 #
84 #server {
85 # listen 8000;
86 # listen somename:8080;
87 # server_name somename alias another.alias;
88
89 # location / {
90 # root html;
91 # index index.html index.htm;
92 # }
93 #}
94
95
96 # HTTPS server
97 #
98 #server {
99 # listen 443 ssl;
100 # server_name localhost;
101
102 # ssl_certificate cert.pem;
103 # ssl_certificate_key cert.key;
104
105 # ssl_session_cache shared:SSL:1m;
106 # ssl_session_timeout 5m;
107
108 # ssl_ciphers HIGH:!aNULL:!MD5;
109 # ssl_prefer_server_ciphers on;
110
111 # location / {
112 # root html;
113 # index index.html index.htm;
114 # }
115 #}
116
117 }
[[email protected] conf]#
[[email protected] conf]# ss -antl | grep 80
LISTEN 0 50 :::8080 :::
[[email protected] conf]#
[[email protected] conf]# curl localhost
curl: (7) Failed connect to localhost:80; Connection refused
[[email protected] conf]# ss -antl | grep 80
LISTEN 0 50 :::8080 :::

[[email protected] conf]#
[[email protected] conf]# systemctl stop firewalld.service
[[email protected] conf]# systemctl disable firewalld.service
[[email protected] conf]# firewall-cmd --zone=public --add-port=80/tcp --permanent
FirewallD is not running
[[email protected] conf]# ls
fastcgi.conf fastcgi_params.default mime.types nginx.conf.default uwsgi_params
fastcgi.conf.default koi-utf mime.types.default scgi_params uwsgi_params.default
fastcgi_params koi-win nginx.conf scgi_params.default win-utf
[[email protected] conf]# pwd -P
/usr/local/nginx/conf
[[email protected] conf]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[[email protected] conf]# ss -antl | grep 80
LISTEN 0 128 :80 :
LISTEN 0 50 :::8080 :::

[[email protected] conf]# curl localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>

孟伯,20200411

交流联系:微信 1807479153 ,QQ 1807479153

原文地址:https://blog.51cto.com/6286393/2487334

时间: 04-14

CentOS系列教程(四)的相关文章

史上最详细的Android Studio系列教程四--Gradle基础

史上最详细的Android Studio系列教程四--Gradle基础

CRL快速开发框架系列教程四(删除数据)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(

Android Studio系列教程四--Gradle基础

Android Studio系列教程四--Gradle基础 本文为个人原创,欢迎转载,但请务必在明显位置注明出处! 其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧. 什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(

webpack4 系列教程(四): 单页面解决方案--代码分割和懒加载

本节课讲解webpack4打包单页应用过程中的代码分割和代码懒加载.不同于多页面应用的提取公共代码,单页面的代码分割和懒加载不是通过webpack配置来实现的,而是通过webpack的写法和内置函数实现的. 目前webpack针对此项功能提供 2 种函数: import(): 引入并且自动执行相关 js 代码 require.ensure(): 引入但需要手动执行相关 js 代码 本文将会进行逐一讲解. >>> 本节课源码 >>> 所有课程源码 1. 准备工作 此次代码

Influx Sql系列教程四:series/point/tag/field

influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集构成:本篇教程将介绍一些这几个概念 1. tag influxdb数据结构中记录元数据(metadata)的kv对,不要求必须存在,tag key/value 都是字符串类型,而且会建立索引,因此基于tag进行查询效率比单纯的基于field进行查询是要高的:后续的一些sql也会发现,某些查询只能基于

ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云

向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平均优先级的服务. 1. 添加命名为Services 的文件夹,在该文件夹下添加名称为 StatisticsService.cs 的类: StatisticsService 类代码设计如下: using System.Linq; using System.Threading.Tasks; using

Spring Boot2 系列教程 (四) | 集成 Swagger2 构建强大的 RESTful API 文档

前言 快过年了,不知道你们啥时候放年假,忙不忙.反正我是挺闲的,所以有时间写 blog.今天给你们带来 SpringBoot 集成 Swagger2 的教程. 什么是 Swagger2 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 为什么使用 Swagger2 ? 相信刚开始不熟悉 web 开发的时候,大家都有手写 Api 文档的时候.而手写 Api 文档主要有以下几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更

Yii2系列教程四:实现用户注册,验证,登录

上一篇写了一点点Yii2的数据库相关知识和强大的Gii,这一篇就如上一篇的最后所说的一样:在Yii2中实现用户的注册和登录. 你可以直接到Github下载源码,以便可以跟上进度,你也可以重头开始,一步一步按照这个教程来做.本期的用户注册和登录,我会使用一个很棒的composer package :dektrium/yii2-user,下面就开始我们的故事吧. 用户的注册和登录 在现在的Web应用中,几乎每一个应用都会需要用户注册,不管是使用的第三方还是自建的注册登录系统,我们都需要通过某些表单来

Spring Boot系列教程四:配置文件详解properties

一.配置随机数,使用随机数 在application.properties文件添加配置信息 1 #32位随机数 2 woniu.secret=${random.value} 3 #随机整数 4 woniu.number=${random.int} 5 #指定范围随机数 6 woniu.limitnumber=${random.int[0,9]} controller类中使用这些随机数 1 package com.woniu.controller; 2 3 import java.util.Has