前言
准备用flask做一个自己的博客网站,打算用nginx来部署,所以在阿里云的服务器上安装Nginx,参考了很多教程,现在将步骤以及自己遇到的坑写下来,希望能对别人有所帮助。
我用的服务器是阿里云的ubuntu 16.04 64位
Nginx 安装
Nginx安装需要依赖三个模块,所以需要先安装以下的模块。
- gzip模块需要 zlib 库
- rewrite模块需要 pcre 库
- ssl 功能需要openssl库
获取三个包
包名 | 地址 | 安装方式 |
---|---|---|
pcre | http://www.pcre.org/ | 解压目录下./configure ->make ->make install |
openssl | http://www.openssl.org/source/ | 解压目录下./config ->make ->make install |
zlib | http://www.zlib.net/ | 解压目录下./configure ->make ->make install |
Nginx安装
安装方式类似三个依赖模块,地址:http://nginx.org/en/download.html
Nginx 默认安装路径是/usr/local/nginx
启动:sudo /usr/local/nginx/sbin/nginx
查看进程:ps ajx|grep nginx
停止:sudo /usr/local/nginx/sbin/nginx -s stop
如果启动成功:
Nginx安装遇到的坑
1. 不安装依赖包
如果不安装上面提到的三个依赖包,在Nginx文件夹下直接make
,则会报make: *** No rule to make target \'build\', needed by \'default\'. Stop.
2. 启动Nginx报错
error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
解决方式:
检测原因所在 ldd $(which /usr/local/nginx/sbin/nginx)
执行结果如图:
原因是库文件少了libcrypto.so.1.1文件,显示为Not found.接下来查看openssl version
,并且输入出的结果如下图所示:
报错信息是:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
键入命令:
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
再次输入 ldd $(which /usr/local/nginx/sbin/nginx
结果如下
启动Nginx不再报错。