nginx网站源码分享 nginx web server

很多朋友对于nginx网站源码分享和server不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

nginx官网有一篇文章专门说明怎么源码编译安装nginx,我们最大限度使用里面的参数,让nginx的特性都开起来.

nginx官网的源码编译说明书

如果需要设置路径,那么就需要自己去下载软件,我们可以看到有两个,分别是zlib和Perl.

下载pcre(跟正则表达式相关)

进入pcre官网:

pcre官网

下载最新版pcre

下载最新版pcre

下载zlib

进入官网:

zlib官网

点击上图下载区域中圈红的地方下载软件

解压pcre

tar-jxvfpcre2-10.23.tar.bz2

解压zlib

tar-zxvfzlib-1.2.11.tar.gz

解压zlib

配置nginx源码

配置nginx源码

配置nginx源码报错

./configure:error:SSLmodulesrequiretheOpenSSLlibrary.

Youcaneitherdonotenablethemodules,orinstalltheOpenSSLlibrary

intothesystem,orbuildtheOpenSSLlibrarystaticallyfromthesource

withnginxbyusing–with-openssl=<path>option.

下载openssl

openssl官网

解压openssl

tar-zxvfopenssl-1.1.0e.tar.gz

再次配置nginx源码

./configure–prefix=path=/usr/local/nginx\\

–sbin-path=/usr/local/nginx/nginx\\

–conf-path=/usr/local/nginx/nginx.conf\\

–pid-path=/usr/local/nginx/nginx.pid\\

–error-log-path=/usr/local/nginx/logs/error.log\\

–http-log-path=/usr/local/nginx/logs/access.log\\

–build=nginx\\

–user=nginx\\

–group=nginx\\

–with-select_module\\

–with-poll_module\\

–with-http_ssl_module\\

–with-pcre=/home/test/Desktop/pcre2-10.23\\

–with-pcre-jit\\

–with-zlib=/home/test/Desktop/zlib-1.2.11\\

–with-openssl=/home/test/Desktop/openssl-1.1.0e

配置成功:

配置nginx源码成功

makenginx源码

make

makenginx源码报错:

cd/home/test/Desktop/pcre2-10.23\\

&&makelibpcre.la

make[2]:Enteringdirectory’/home/test/Desktop/pcre2-10.23′

make[2]:***Noruletomaketarget’libpcre.la’.Stop.

make[2]:Leavingdirectory’/home/test/Desktop/pcre2-10.23′

objs/Makefile:1226:recipefortarget’/home/test/Desktop/pcre2-10.23/.libs/libpcre.a’failed

make[1]:***[/home/test/Desktop/pcre2-10.23/.libs/libpcre.a]Error2

make[1]:Leavingdirectory’/home/test/software/nginx-1.12.0′

Makefile:8:recipefortarget’build’failed

make:***[build]Error2

makenginx源码报错的原因和解决方案

不能使用pcre2,必须使用pcre1版本,重新下载pcre,现在下载pcre-8.40.tar.gz:

解压:

tar-zxvfpcre-8.40.tar.gz

重新配置nginx源码

./configure–prefix=path=/usr/local/nginx\\

–sbin-path=/usr/local/nginx/nginx\\

–conf-path=/usr/local/nginx/nginx.conf\\

–pid-path=/usr/local/nginx/nginx.pid\\

–error-log-path=/usr/local/nginx/logs/error.log\\

–http-log-path=/usr/local/nginx/logs/access.log\\

–build=nginx\\

–user=nginx\\

–group=nginx\\

–with-select_module\\

–with-poll_module\\

–with-http_ssl_module\\

–with-pcre=/home/test/Desktop/pcre-8.40\\

–with-pcre-jit\\

–with-zlib=/home/test/Desktop/zlib-1.2.11\\

–with-openssl=/home/test/Desktop/openssl-1.1.0e

makenginx源码

make

make成功.

安装nginx

makeinstall

安装成功

创建nologin用户nginx

sudouseradd-s/usr/sbin/nologin-r-M-d/dev/nullnginx

修改启动nginx的用户

nginx用的是80端口,在Linux中1024以下的端口号都需要root权限才能使用.

vim/usr/local/nginx/nginx.conf

启动nginx报错

/usr/local/nginx/nginx

报出如下错误:

2017/05/1902:35:56[emerg]100620:mkdir()”path=/usr/local/nginx/proxy_temp”failed(2:Nosuchfileordirectory)

2017/05/1902:43:54[emerg]105280:mkdir()”path=/usr/local/nginx/uwsgi_temp”failed(2:Nosuchfileordirectory)

2017/05/1902:45:28[emerg]10559log_formatmain’$remote_addr-$remote_user[$time_local]”$request”‘

‘”$http_user_agent””$http_x_forwarded_for”‘;

#access_loglogs/access.logmain;

client_body_temp_path/usr/local/nginx/client_temp;

proxy_temp_path/usr/local/nginx/proxy_temp;

fastcgi_temp_path/usr/local/nginx/fastcgi_temp;

uwsgi_temp_path/usr/local/nginx/uwsgi_temp;

scgi_temp_path/usr/local/nginx/scgi_temp;

查看nginx是否正常启动

ps-aux|grepnginx

主线程还是root用户启动的,工作线程是使用nginx用户启动

好了,文章到此结束,希望可以帮助到大家。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平