nginx源码编译安装(编译安装nginx启动命令)

今天给各位分享nginx源码编译安装的知识,其中也会对编译安装nginx启动命令进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么编译安装nginx1.8.1

要编译安装Nginx,首先我们要安装依赖包 pcre-devel 和 zlib-devel:

# yum install pcre-devel zlib-devel -y

程序默认是使用 nobody 身份运行的,我们建议使用 nginx 用户来运行,首先添加Nginx组和用户,不创建家目录,不允许登陆系统

# groupadd nginx

# useradd -M -s /sbin/nologin -g nginx nginx

准备工作完成后就是下载编译安装Nginx了,可以从我提供的网盘下载,也可以去Nginx的官网下载。

首先解压源码包:

# tar xf nginx-1.4.4.tar.gz

然后 cd 到解压后的目录就可以执行 ./configure 了

# cd nginx-1.4.4

指定安装目录和运行时用的属主和属组,并启用状态监控模块等

# ./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

--http-scgi-temp-path=/var/tmp/nginx/scgi \

--with-pcre

等配置完成后就可以 make make install 了

# make make install

# mkdir /var/tmp/nginx/client/ -pv

等编译安装完成后在 /usr/local 下就会出现 Nginx 这个目录了,进入这个目录后发现目录非常简单。它的配置文件存放在 conf 目录中,网页文件存放在 html 中,日志文件存放在 logs 中,sbin 目录下只有一个可执行程序 "nginx"

接下来我们简单的为它提供一个服务脚本吧!

# vim /etc/init.d/nginx

新建文件/etc/rc.d/init.d/nginx,内容如下:

#!/bin/bash

# chkconfig:235 85 15

# description: Nginx is an HTTP server

. /etc/rc.d/init.d/functions

start() {

echo "Start..."

/usr/local/nginx/sbin/nginx /dev/null

if [ $? -eq 0 ];then

echo "Start successful!"

else

echo "Start failed!"

fi

}

stop() {

if killproc nginx -QUIT ;then

echo "Stopping..."

fi

}

restart() {

stop

sleep 1

start

}

reload() {

killproc nginx -HUP

echo "Reloading..."

}

configtest() {

/usr/local/nginx/sbin/nginx -t

}

case $1 in

start)

start ;;

stop)

stop ;;

restart)

restart ;;

reload)

reload ;;

configtest)

configtest ;;

*)

echo "Usage: nginx {start|stop|restart|reload|configtest}"

;;

esac

之后给这个文件可执行权限:

# chmod +x /etc/init.d/nginx

好了,现在可以使用 start,stop 这些参数控制Nginx服务了

由于脚本是我自己写的,还有许多不尽人意的地方,欢迎大家修改和完善!

现在我们就试试启动服务看看效果吧:

# service nginx start

记得关闭 SElinux 和 iptables 防火墙哦,

# service iptables stop

# setenforce 0

接下来就在浏览器中访问你服务的IP看看效果吧!是不是出项了欢迎的字样呢

接下来就研究下 Nginx 的配置文件吧!

# vim /usr/local/nginx/conf/nginx.conf

各项参数的意义如下:

worker_processes 1; 工作进程数量

error_log logs/error.log; 日志文件位置

pid logs/nginx.pid; pid文件位置

worker_connections 1024; 没进程的连接数

listen 80; 监听端口

server_name localhost; 主机名

root html; 网站根目录

index index.html index.htm; 网站索引页

error_page 500 502 503 504 /50x.html; 访问错误页面

剩下的其他被注释掉的代码块:

location ~ \.php$ { . . . . . . } 对PHP的支持,需要安装PHP

server { . . . . . . } 添加server代码块能添加虚拟主机

剩下还有监听443端口的超文本传输安全协议 HTTPS server 需要在编译Nginx时添加ssl的支持

接下来我们试着添加一台虚拟主机吧,虚拟主机的添加可以基于端口,可以基于IP,也可以基于主机名,我们挨个来看看:

基于端口:

首先编辑配置文件,添加server代码块,记得要写到http{ . . . . . . }这个大的代码块中。

server {

listen 8080;

server_name localhost;

location / {

root /var/www/html;

index index.html index.htm;

}

}

这样就添加了一个监听8080端口的服务,你也可以定义自己喜欢的端口哦。

接下来检查下配置文件有没有问题,如果最后一个单词显示successful就代表没问题了,可以重新启动Nginx了

# service nginx configtest

# service nginx restart

接下来就给第二个虚拟主机写一个index吧!首先创建目录

# mkdir -pv /var/www/html

# echo 'h1Hi! This is 8080!/h1' /var/www/html/index.html

好了 接下来试着在浏览器中访问访问,记得第二个主机要加上端口访问哦

现在试着用不同的IP建立虚拟主机吧!我们可以在一块网卡上绑定多个IP地址的方式来实现

# ifconfig eth0:0 10.0.0.4/8

记得把IP换成你自己的哦!然后ifconfig看看是不是多出来一个网卡IP了呢

让后继续修改配置文件,这回要修改两个地方,一个是原本自带的站点的 listen 项,一个是自己添加的站点的 listen 项。

基于IP:

server {

listen 10.0.0.3:80;

server_name localhost;

location / {

root html;

index index.html index.htm;

}

}

server {

listen 10.0.0.4:80;

server_name localhost;

location / {

root /var/www/html;

index index.html index.htm;

}

}

让他们只监听不同的IP,用相同的端口

接下来再浏览器上用不同的IP来访问试试吧,及的还得重启Nginx,先检查一下,出现错误了看看哪里配置的不对,然后就可以重启了。

# service nginx congiftest

# service nginx restart

如果配置给网卡的第二个IP不想要了,把它停掉就可以了

# ifconfig eth0:0 down

再 ifconfig 看看是不是没有了呢

现在试试用不同的主机名吧!也是企业用的最多的方式。我们把两个站点的listen项都改为80,然后修改service_name项为定义的主机名

基于主机名:

server {

listen 80;

server_name ybmq.com;

location / {

root html;

index index.html index.htm;

}

}

server {

listen 80;

server_name zhzz.com;

location / {

root /var/www/html;

index index.html index.htm;

}

}

然后重启Nginx吧!

可是我们在浏览器上怎么通过域名访问呢?要知道我们访问 baidu 啊,qq 啊之类的是通过DNS服务器的,难道我们还要配置一台DNS服务器?其实不然,我们通过修改客户机的 hosts 文件就可以了。hosts文件是一个本地的域名解析文件,我们要解析哪些域名只要把域名和对应的IP写到一起就可以了。在Windows XP之后的系统中,这个文件位于:

C:\Windows\System32\drivers\etc\hosts

我们用文本编辑器打开,添加两个相同的IP对应的两个不同的主机名就可以了。

如下图所示

如果你打开这个文件发现已经有很多IP地址了,可以直接在最后加入这两行,也可以直接清空这个文件,不会有什么问题的。这个文件的用途还可以屏蔽一些网站哦,只需要把网址对于的IP改为 127.0.0.1 也就是本地回环地址,浏览器查询域名对应的IP时时先通过查询这个文件的,如果查询到了,不管对错都不会访问DNS服务器了,所以我们给它一个错误的地址,那它一辈子也打不开被屏蔽掉的网站了。

好了 接下来就在浏览器中试试用用域名访问你的两个站点吧。

如果大家还用IP访问会是什么情况呢?我不说了,大家还是自己测试吧 哈哈o(^▽^)o

Linux系统中编译安装Nginx服务器,看了还不会你来打我

使用yum安装方式安装PCRE:

yum安装后检查安装结果:

使用yum安装openssl-devel:

检查yum安装结果:

在确保Nginx编译安装所依赖的pcre-devel和openssl-devel已经安装好了后,可以下载Nginx源码进行编译安装。 Nginx源码可以从Nginx官方网站()找到相应版本源码的下载地址:

下载Nginx源码:

添加nginx用户,服务于Nginx:

解压软件包:

编译Ngixn源码并安装:

建立nginx应用程序软链接:

启动前为了避免报错,先检查配置文件语法:

启动Nginx服务:

查看Nginx服务是否启动成功:

说明已经启动成功,打开浏览器输入就可以看到nginx网页信息。

如何在linux上安装nginx

1 nginx安装环境

nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。

gcc

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

PCRE

PCRE(PerlCompatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yuminstall -y pcre pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yuminstall -y zlib zlib-devel

openssl

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yuminstall -y openssl openssl-devel

2 编译安装

将nginx-1.8.0.tar.gz拷贝至linux服务器。

解压:

tar -zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

1、 configure

./configure --help查询详细参数(参考本教程附录部分:nginx编译参数)

注意:临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

参数设置如下:

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client\

--http-proxy-temp-path=/var/temp/nginx/proxy\

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi\

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi\

--http-scgi-temp-path=/var/temp/nginx/scgi

2、 编译安装

make

make install

安装成功查看安装目录 :

3 启动nginx

cd /usr/local/nginx/sbin/

./nginx

查询nginx进程:

15098是nginx主进程的进程id,15099是nginx工作进程的进程id

注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:

./nginx-c /usr/local/nginx/conf/nginx.conf

如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))

4 停止nginx

方式1,快速停止:

cd /usr/local/nginx/sbin

./nginx -s stop

此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

方式2,完整停止(建议使用):

cd /usr/local/nginx/sbin

./nginx -s quit

此方式停止步骤是待nginx进程处理任务完毕进行停止。

6 测试

nginx安装成功,启动nginx,即可访问虚拟机上的nginx

yum安装nginx

在 /etc/yum.repo.d/ 下新建一个nginx.repo,加入nginx官方提供的源

注意其中的 OS 为系统名, OSRELEASE 为系统大版本

比如在CentOS7.2下安装,要使用如下配置

直接安装会安装当前的最新版本

该源仓库下有多个版本的nginx可供安装,可以用如下命令查看

选择其中一个版本安装

yum安装的优点是快,简单。不用解决依赖、环境问题。缺点是可定制性不强,需要更多模块的可以使用源码编译安装,参考 这篇文章

nginx编译安装慢

nginx编译安装慢优化步骤:

1、利用包管理器直接安装,也是新手最简单的安装方式。

2、源码包编译安装。源码包编译安装的有点就是灵活,扩展方便,性能要比直接包管理器安装要好,对于很多人说的包管理器安装无法安装最新版、无法升级到最新版等问题,不存在。

关于nginx源码编译安装和编译安装nginx启动命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » nginx源码编译安装(编译安装nginx启动命令)
您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论