配置nginx源码(nginx源代码安装)
nginx源代码安装
1、源码安装;其实所有的软件在Linux下最常用的就是源码安装,理由是你可以修改源码使其达到你自己要求的功能,举个例子,如果你要安装nginx服务器,如果你怕黑客通过http headers知道你的服务器与版本信息,黑客可能会通过这个版本的漏洞来侵入你主机,所以你会通过修改nginx源码来阻止服务器返回这些信息
2、通过各种包管理器来安装,这个种类很多,比较常见的有
a) redhat系列,都是rpm格式的,通过yum 管理软件。
b)debian系列,都是deb格式的,通过apt-get管理软件。
c)gentoo系列,通过emerge管理软件。(无版本概念,滚动更新,特点是安装系统一般需要几十个小时,因为是通过源码方式编译安装系统的,但速度极快,优化做的好)
d)archlinux系列,通过pacman管理软件。 (无版本概念,滚动更新,安装简单,二十多分钟即可,在x86架构下速度很快,管理简单,符合kiss原则)
e)其他系列,因为linux有几千个发行版,个人知识有限,也许还有其他格式的吧,但太少众了,不过总是存在的。
3、二进制格式安装;编译好的文件,类似与Windows下的exe,后缀一般为bin,如jdk就有bin后缀的(虽然linux下没有后缀的概念,但为了好区分,一般文件名都加后缀)。安装就是先给它可执行权限,然后执行,如: chmod 777 xxx.bin ; ./xxx.bin
4、脚本安装,后缀一般是sh,这些一般是通过shell脚本来调用其他的软件来安装的,不过有些二进制格式的后缀也是sh,安装这些格式的,一般通过 $sh XXX.sh 就可以了。
5、也许有其他方法吧,比如一些软件中心之类的,ubuntu的软件中心底层还是apt-get的,但是它用gtk+编写了个UI界面,底层是apt-get,但表现的形式确实多种多样的。也有通过界面安装的,类似与oracle的界面安装,用java写的安装界面,所以你系统里需要安装jdk才能安装oracle,调用它的安装界面,这就类似与Windows的安装了,优点就是给人一种Windows的感觉,但不一定简单,出了问题不好解决。不过可以给人一种统一界面安装的感觉。是为了提高用户体验而做的。
nginx安装使用
环境都支持HTTPS的,只是没有SSL,需要淘宝Gworg获取SSL证书才可以。
推荐环境如下: WIN 2008 R2 IIS 7 以上版本 CentOS 6+ OpenSSL 1.0.1c+ Apache 2.4 + Nginx 1.0.6+ JDK1.7 tomcat7.0.56+nginx yum安装
1.查看软件方法:
rpm -qa |grep nginx
2.安装软件方法:
yum install -y nginx或yum localinstall xxx.rpm -y 或 rpm -ivh xxx.rpm或重新安装yum reinstall nginx -y
./configure (配置) ----./configure --help(查看configure选项)
make (编译)
make install (安装)
make clean (卸载)
3.卸载软件方法:
rpm -e --nodeps 软件名 卸载已安装软件
nginx搭建yum源
ngx_upload模块是nginx中一个文件上传模式了,下面我们来看看nginx安装文件上传ngx_upload模块步骤,希望例子对各位有帮助.
安装nginx,并加入nginx upload module和nginx cache purge module:
mkdir ~/download
cd ~/download
wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz
tar zxf nginx_upload_module-2.0.12.tar.gz
git clone https://github.com/FRiCKLE/ngx_cache_purge.git
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
wget http://nginx.org/download/nginx-1.2.3.tar.gz
tar zxf nginx-1.2.3.tar.gz
cd nginx-1.2.3
./configure --prefix=/usr/local/nginx --with-pcre --with-http_ssl_module --add-module=../nginx_upload_module-2.0.12 --add-module=../ngx_cache_purge
make && make install
尝试启动:
/usr/local/nginx/sbin/nginx
ps aux | grep nginx
假如我的网站是放在 /home/mysite/www 下的,而nginx配置文件就放在 /home/mysite/etc 下:
省略了很多内容的配置文件,mysite.conf:
server {
listen 80;
server_name 192.168.1.123;
client_max_body_size 20M;
location /upload {
include /home/mysite/etc/nginx/ngx_upload.conf;
}
....其他的配置....
location @after_upload {
proxy_pass http://www_backend;
}
}
将nginx_upload.conf独立开来,是因为其他网站也可以包含此上传配置文件:
nginx_upload.conf:
upload_pass @after_upload;
upload_pass_args on;
upload_cleanup 400 404 499 500-505;
upload_store /home/mysite/www/uploads/tmp;
upload_store_access user:r;
upload_limit_rate 128k;
upload_set_form_field "${upload_field_name}_name" $upload_file_name;
upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;
upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;
upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;
upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;
upload_pass_form_field "^.*$";
而最后那个参数:upload_pass_form_field,代表可以将表单的所有参数保持原样传递到后端,需要区分文件保存类型时很有用。
nginx源码包安装
源码安装也叫编译安装,宝塔给出的提示是安装时长为20分钟-2小时,适合于生产环境。源码安装方式是下载源码包,然后解压安装。
此方式可以指定配置参数,在部署时遇到特定版本的中间件(如NGINX,PHP等)可安装指定的插件和指定的路径,兼容性和稳定性较强。但是如果成规模的管理服务器比如1000以上,至少100以上,如果相同的环境,需要相同的软件,源码安装就显得有点捉襟见肘了。
nginx源码编译
可以,压缩当前部署的Nginx的目录,拷贝到指定的路径解压部署。
nginx源码是什么语言
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
nginx安装方式
安装失败是由于没有存储空间了,清理内存再重新安装
nginx 源码安装
windows 10 下无法启动nginx的解决方法
问题##
windows 10 下启动nginx,闪屏而过,访问localhost显示无法访问。
分析##
cmd下使用命令:netstat -an | find "0.0.0.0:80",可以发现80端口已经被占用。
尝试##
1、改变绑定中的80端口,把原来绑定80端口的站点,换成其他端口;失败。
2、关闭World Wide Web Publishing Service;失败。
3、更改nginx目录下conf/nginx.conf下的监听端口号,把80改成其他未被占用端口号;成功!
所以可以确定是80端口的问题。
再分析##
再次使用命令:netstat -ano
可以发现占用80端口的服务pid = 4,
ctrl+shift+Esc打开任务管理器,查看详细,占先pid排序,可以查看到pid为4的进程:NT kernel & System。
解决##
经过网络查询,发现网上的提供的多种方式,单纯使用,并不能解决问题,经实践后,解决方式为2步:
第一步:使用如下命令关闭iis相关服务(管理员身份进入cmd)
net stop http
这时会有提示确认信息,提示要关闭http服务,需要停止其依赖的其他服务,输入Y
此时依赖的相关服务都会提示停止成功,到http服务时,最后会发现:http server 无法停止。
此时进入第二步。
第二步:命令行输入如下命令:sc config http start= disabled(注意start和=之间没有空格)
没有任何提示,重新出现输入提示,说明已经成功,如果有提示,请按提示进行修改。
然后重启电脑,输入netstat -ano | find "0.0.0.0:80"命令进行验证。如果没有任务输出,说明成功,如果还是有80端口相关信息输出,说明失败。可以再尝试其他方式。
说明:如果以后需要使用IIS服务,估计需要使用下列命令修复(管理员身份)
sc config http start= demand & net start http
可输入下面的命令验证
net start http
网络上还有另一种办法:
1、打开注册表:win键+R -> regedit
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
3、在右边找到Start这一项,将其改为0(我的系统原值为3)
4、重启系统,System进程不会再占用80端口
这种方式,我操作之后,没有效果。后来使用上述两步操作,成功释放80端口,但最终成功,不知道是否和这个操作有关系。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.