Silentdoer

导航

Deepin15.11源码安装Nginx17.5包括stream模块和njs模块

一:先到官网下载nginx-1.17.5.tar.gz包并且解压到当前目录,解压后目录为:nginx-1.17.5;(在这里下载:http://nginx.org/download/)

二:下载njs源码(它没有像stream模块一样附带在了nginx源码里),因此首先需要下载mercurial(nginx不是在git仓库而是mercurial仓库),sudo apt install mercurial;

三:在下载目录(也可以是其他目录)里执行hg clone http://hg.nginx.org/njs(类似git clone ...);然后下载目录会多个njs目录,且njs目录里有个nginx目录;

四:这里假设nginx源码包解压后的目录路径是~/Downloads/nginx-1.17.5,然后下载的njs源码目录是~/Downloads/njs;

cd到~/Downloads/nginx-1.17.5目录,执行:

sudo ./configure --prefix=/usr/local/nginx-1.17.5 --conf-path=/usr/local/nginx-1.17.5/conf/nginx.conf --pid-path=/usr/local/nginx-1.17.5/logs/nginx.pid --error-log-path=/usr/local/nginx-1.17.5/logs/error.log --http-log-path=/usr/local/nginx-1.17.5/logs/access.log --with-http_ssl_module --add-module=/home/silentdoer/Downloads/njs/nginx --with-stream

这里的--prefix是安装路径;【注意,如果提示OpenSSL的问题,可以执行sudo apt-get install libssl-dev后再次执行上面的configure】

安装成功后可以看到它自动安装了PCRE,OpenSSL(这个手动写了配置),zlib;

并且还自动配置了module的路径为nginx-1.17.5/modules

五:待四执行成功后执行sudo make;

然后再执行sudo make install;【这两步执行成功没有看到标志性的成功提示】

六:cd到/usr/local/nginx-1.17.5,ls会看到只有conf sbin等4,5个目录【这是因为nginx还没有运行,运行后会生成更多的目录】

然后编辑conf下的nginx.conf,在里面添加stream模块(和http平级),然后在http模块里添加js_include js/test.js;【注意test.js是要放在conf/js目录下】[js_include指令似乎一般写在http或stream这一层级?】,

然后./sbin/nginx不会报错,说明stream和njs添加成功;

七:可以为nginx的sbin目录添加path,注意允许nginx要以root【或者分配新用户给予相关权限】

posted on 2019-11-14 20:29  Silentdoer  阅读(371)  评论(0编辑  收藏  举报