本文内容:

90%来自以下网址:http://www.nginx.cn/install ,修改了一些版本信息

10%来自以下网址:http://nginx.org/en/docs/beginners_guide.html

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。

ububtu平台编译环境可以使用以下指令

apt-get install build-essential
apt-get install libtool

centos平台编译环境使用如下指令

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

1.选定源码目录
可以是任何目录,本文选定的是/usr/local/nginxsrc

mkdir /usr/local/nginxsrc
cd /usr/local/nginxsrc

2.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

cd /usr/local/nginxsrcwget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar -zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure
make
make install

原文中的8.37版本已经没有了。

3.安装zlib库
http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /usr/local/nginxsrcwget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2..tar.gz
cd zlib-1.2.
./configure
make
make install

4.安装ssl(某些vps默认没装ssl)

cd /usr/local/nginxsrcwget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz

5.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12..tar.gz
cd nginx-1.12. ./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/nginxsrc/pcre-8.38 \
--with-zlib=/usr/local/nginxsrc/zlib-1.2.11 \
--with-openssl=/usr/local/nginxsrc/openssl-1.0.1t make
make install

--with-pcre=/usr/local/nginxsrc/pcre-8.38指的是pcre-8.38 的源码路径。
--with-zlib=/usr/local/nginxsrc/zlib-1.2.11 指的是zlib-1.2.11 的源码路径。

安装成功后 /usr/local/nginx 目录下如下

fastcgi.conf            koi-win             nginx.conf.default
fastcgi.conf.default logs scgi_params
fastcgi_params mime.types scgi_params.default
fastcgi_params.default mime.types.default uwsgi_params
html nginx uwsgi_params.default
koi-utf nginx.conf win-utf

6.启动
确保系统的 80 端口没被其他程序占用,运行/usr/local/nginx/nginx 命令来启动 Nginx,

netstat -ano|grep 

如果查不到结果后执行,有结果则忽略此步骤(ubuntu下必须用sudo启动,不然只能在前台运行)

sudo /usr/local/nginx/nginx

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

7.设置简单的服务器代理

编辑nginx.conf文件

cd /usr/local/nginx
vim nginx.conf

在http模块下添加如下代码

server {
location / {
proxy_pass http://localhost:8080/;
} location ~ \.(gif|jpg|png)$ {
root /data/images;
}
}

第一个location /的意思是:当接受到根地址的请求时,则转到http://localhost:8080/。

第二个location 的意思是:若结尾以gif jpg png后缀时,则在服务器的/data/images文件夹下查找是否有此图片文件,若有则返回,没有返回404。

8.测试

启动一个tomcat项目,端口号为8080,重新载入nginx:./nginx -s reload。访问localhost时,界面为tomcat的默认显示界面。

访问localhost/back.png时将返回服务器/data/images目录下的相关图片。

若需要修改图片访问路径,则可以在images目录下新建目录,比如blogs,然后将图片放入blogs目录下;此时访问的路径为:localhost/blogs/back.png

最新文章

  1. 多线程导出大规模excel文件
  2. hdu 5057 Argestes and Sequence(分块算法)
  3. 如何在MFC中添加对话栏
  4. hdu 4744 最小费用流
  5. Android 绘图工具库AChartEngine
  6. Access Toke调用受保护的API
  7. Node.js(day5)
  8. Linux学习历程——Centos 7 uptime 、free命令
  9. 解决tomcat同时部署两个SpringBoot应用提示InstanceAlreadyExistsException
  10. [UE4]线性插值Lerp
  11. 【比赛】NOIP2018 赛道修建
  12. 030.Zabbix分布式部署
  13. Vue中CSS模块化最佳实践
  14. 转:Mysql float类型where 语句判断相等问题
  15. docker 日志分析
  16. Router pipeline
  17. WPF 标签预览可以显示图片运行后不显示
  18. 【动态规划】POJ-2229
  19. git的一些常见问题
  20. RGB色彩对照表

热门文章

  1. jQuery笔记之工具方法—高级方法Ajax
  2. try/except/finally
  3. 51Nod 1019 逆序数 (归并排序)
  4. 关于long long int和__int64用%I64d和%lld输出在不同编译语言下的正确性
  5. 网络流24题 一句话题解(updating)
  6. POJ3417(树上差分)
  7. Testing Round #12 C
  8. 第一个 swift 项目
  9. 分布式数据存储 之 Redis(二) —— spring中的缓存抽象
  10. 在WIN7下解决coursera视频无法播放问题