`
cd0281
  • 浏览: 123015 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

linux下安装nginx及服务配置(转载)

 
阅读更多
本文是写给那些刚刚接触linux的新手写的,#符号后面的都是命令可以复制进去,你有发展linux的打算也可以手打加深对命令的了解。
第一步:# yum -y installgcc-c++(C编译器下面的安装包需要)


Linux系统下Nginx的源码编译安装模块依赖性,需要依赖下面3个安装包(下面的演示版本不是最新版本,你也可以下载最新的版本,只要把版本号修改一下即可):
1:ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/source)

# wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz

2:gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/)



# wget http://zlib.net/zlib-1.2.11.tar.gz

3:rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )



# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

这个 是本文的核心,不下载能行?

Nginx包(下载: http://nginx.org/en/download.html)



# wget http://nginx.org/download/nginx-1.8.0.tar.gz

第二步:下载完后按顺序依次安装openssl-fips-2.0.10.tar.gz,zlib-1.2.11.tar.gz, pcre-8.37.tar.gz,nginx-1.8.0.tar.gz

#su -(可以返回localhost)



1.安装openssl-fips-2.0.10.tar.gz

[root@localhost]# tar -zxvfopenssl-fips-2.0.10.tar.gz

[root@localhost]# cdopenssl-fips-2.0.10

[root@localhostopenssl-fips-2.0.10]# ./config

[root@localhostopenssl-fips-2.0.10]# make

[root@localhostopenssl-fips-2.0.10]# make install



2.安装zlib-1.2.11.tar.gz(返回localhost)

[root@localhost]# tar -zxvfzlib-1.2.11.tar.gz

[root@localhost]# cdzlib-1.2.11

[root@localhost zlib-1.2.11]#./configure

[root@localhost zlib-1.2.11]#make

[root@localhost zlib-1.2.11]#make install



3.安装pcre-8.37.tar.gz(返回localhost)

[root@localhost]# tar -zxvfpcre-8.37.tar.gz

[root@localhost]# cdpcre-8.37

[root@localhost pcre-8.37]#./configure

[root@localhost pcre-8.37]#make

[root@localhost pcre-8.37]# makeinstall



4、安装nginx-1.8.0.tar.gz(返回localhost)

[root@localhost]# tar -zxvfnginx-1.8.0.tar.gz

[root@localhost]# cdnginx-1.8.0

[root@localhost nginx-1.8.0]#./configure  --with-openssl=../openssl-fips-2.0.10--with-zlib=../zlib-1.2.11 --with-pcre=../pcre-8.37



(注释:../pcre-8.37=/usr/local/pcre-8.37指的是pcre-8.37的源码路径。)



[root@localhost nginx-1.8.0]#make

[root@localhost nginx-1.8.0]#make install



第三步:检测是否安装成功并启动

检查配置文件     #  /usr/local/nginx/sbin/nginx-t

启动nginx         #  /usr/local/nginx/sbin/nginx

端口查看            #  ps -ef|grep nginx



NGINX启动时提示错误:

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx: error while loading shared libraries:libpcre.so.1: cannot open shared object file: No such file ordirectory



输入下列命令,会出现以下提示:



# ldd $(which /usr/local/nginx/sbin/nginx)



linux-vdso.so.1 => (0x00007fff48ff0000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0×0000003065800000)
libpcre.so.1 => not found
libssl.so.6 => /lib64/libssl.so.6 (0×0000003067000000)
libcrypto.so.6 => /lib64/libcrypto.so.6(0×0000003066400000)
libdl.so.2 => /lib64/libdl.so.2 (0×0000003063000000)
libz.so.1 => /lib64/libz.so.1 (0x0000003063c00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003062c00000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2(0x0000003066c00000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3(0x0000003069c00000)
libcom_err.so.2 => /lib64/libcom_err.so.2(0×0000003068800000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3(0×0000003069000000)
/lib64/ld-linux-x86-64.so.2 (0×0000003062800000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0(0x000000306a800000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1(0x0000003067c00000)
libresolv.so.2 => /lib64/libresolv.so.2(0×0000003068400000)
libselinux.so.1 => /lib64/libselinux.so.1(0×0000003064400000)
libsepol.so.1 => /lib64/libsepol.so.1(0×0000003064000000)

解决方法:64位系统

# ln -s /usr/local/lib/libpcre.so.1/lib64

32位系统则:

# ln -s/usr/local/lib/libpcre.so.1 /lib

第四步:关闭防火墙
关闭:#chkconfig iptables off 或者#/sbin/chkconfig--level 2345 iptables off

重启系统后生效

  重启:# reboot(重启后需要启动nginx,命令在上面)

第五步:检测是否成功运行



打开浏览器访问此机器的 IP,如果浏览器出现 Welcometonginx! 则表示 Nginx 已经安装并运行成功。



第六步:修改nginx.conf配置文件(简单的反向代理配置)



# vi  /usr/local/nginx/conf/nginx.conf

在文本编辑中按 I键可以进入编辑模式,Esc键可以退出编辑模式(只是退出编辑模式不是退出vi模式。 :wq   可以在退出编辑模式输入这个命令保存退出vi模式。

nginx.conf文件中找出下列这段代码

   server {

       listen      80;

       server_name  localhost;



       #charset koi8-r;



       #access_log logs/host.access.log  main;



       location / {

           root   html;

           index  index.html index.htm;

       }

更改成下列文本。  注:www.xxx.com是代表你的域名

   server {

       listen      80;

       server_name www.xxx.com;



       #charset koi8-r;



       #access_log logs/host.access.log  main;



      location / {

           root   html;

           index  index.html index.htm;

                       proxy_pass http://www.xxx.com;



       }


如果出现乱码文本中    #charset koi8-r 改成  charset utf-8 (把#符号去掉,文本中#代表着注释)

第七步:

http选项下

  gzip on;
  gzip_min_length 1k;
  gzip_buffers 16 64k;
  gzip_http_version 1.1;
  gzip_comp_level 6;
  gzip_types application/javascript text/javascript text/plain application/x-javascript text/css application/xml;
  gzip_vary on;



注意:gzip_types必须加上application/javascript 否则js不会被压缩



第八步:重启服务



# /usr/local/nginx/sbin/nginx -s reload 或     #  /etc/init.d/nginx reload

重启之后看看是否设置成功



以下代码是在前人的基础上,结合自己服务器实际情况修改的,本人服务器环境是:CentOS 6.3


1、创建启动脚本,

     root用户执行  vi /etc/init.d/nginx ,保存如下脚本

Python代码  收藏代码
#!/bin/sh   
#   
# nginx - this script starts and stops the nginx daemon   
#   
# chkconfig: - 85 15   
# description: Nginx is an HTTP(S) server, HTTP(S) reverse   
# proxy and IMAP/POP3 proxy server   
# processname: nginx   
# chkconfig: 2345 90 91   
# description: nginx web server  
# processname: nginx  
# config: /opt/nginx/conf/nginx.conf  
# pidfile: /opt/nginx/nginx.pid  
  
# Source function library.  
. /etc/init.d/functions  
  
# Source networking configuration.  
. /etc/sysconfig/network  
  
  
if [ -f /etc/sysconfig/nginx ];then  
. /etc/sysconfig/nginx  
fi  
  
# Check that networking is up.   
[ "$NETWORKING" = "no" ] && exit 0  
  
nginx="/opt/nginx/sbin/nginx"   
prog=$(basename $nginx)  
  
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"  
  
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx  
  
lockfile=/var/lock/subsys/nginx  
  
start() {   
[ -x $nginx ] || exit 5   
[ -f $NGINX_CONF_FILE ] || exit 6   
echo -n $"Starting $prog: "   
daemon $nginx #-c $NGINX_CONF_FILE   
retval=$?   
echo   
[ $retval -eq 0 ] && touch $lockfile   
return $retval   
}  
  
stop() {   
echo -n $"Stopping $prog: "   
killproc $prog -QUIT   
retval=$?   
echo   
[ $retval -eq 0 ] && rm -f $lockfile   
return $retval   
killall -9 nginx   
}  
  
restart() {   
configtest || return $?   
stop   
sleep 1   
start   
}  
  
reload() {   
configtest || return $?   
echo -n $"Reloading $prog: "   
killproc $nginx -HUP   
RETVAL=$?   
echo   
}  
  
force_reload() {   
restart   
}  
  
configtest() {   
$nginx -t #-c $NGINX_CONF_FILE   
}  
  
rh_status() {   
status $prog   
}  
  
rh_status_q() {   
rh_status >/dev/null 2>&1   
}  
  
case "$1" in   
start)   
    rh_status_q && exit 0   
    $1   
    ;;   
stop)   
rh_status_q || exit 0   
    $1   
    ;;   
restart)   
    $1   
    ;;   
test)   
    configtest   
    ;;   
reload)   
    rh_status_q || exit 7   
    $1   
    ;;   
force-reload)   
    force_reload   
    ;;   
status)   
    rh_status   
    ;;   
condrestart|try-restart)   
    rh_status_q || exit 0   
    ;;   
*)   
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|test}"   
exit 2   
esac   



2、为nginx脚本添加权限

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

3、添加nginx服务
chkconfig --add nginx
chkconfig nginx on



4、测试

service nginx start

service nginx stop

service nginx reload





启动操作

nginx -c /usr/local/nginx/conf/nginx.conf
-c参数指定了要加载的nginx配置文件路径

停止操作
停止操作是通过向nginx进程发送信号来进行的

步骤1:查询nginx主进程号

ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。



步骤2:发送信号

复制代码
从容停止Nginx:
kill -QUIT 主进程号 
例如:kill -QUIT 16391

快速停止Nginx:
kill -TERM 主进程号 

强制停止Nginx:
kill -9 主进程号 
复制代码
另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:

kill -信号类型'/usr/local/nginx/logs/nginx.pid'


平滑重启

如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:

kill -HUP 住进称号或进程号文件路径 
或者使用
/usr/nginx/sbin/nginx -s reload 
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

nginx -t -c /usr/nginx/conf/nginx.conf
或者
/usr/nginx/sbin/nginx -t
分享到:
评论

相关推荐

    linux下安装Nginx所需依赖包

    总结一下,安装Nginx在Linux上的主要步骤包括:准备依赖包(GCC、PCRE、Zlib、OpenSSL)、安装Nginx、启动服务以及配置自动化启动。理解这些步骤可以帮助我们更好地管理和维护Nginx服务器,提高系统的稳定性和安全性...

    linux下nginx安装、配置实战

    本篇将详细介绍如何在Linux系统上安装Nginx,以及进行基本的配置实践。 首先,我们需要了解Nginx的安装过程。在大多数Linux发行版中,可以通过包管理器来安装Nginx。例如,在Ubuntu或Debian系统中,可以使用`apt-...

    linux下Nginx+tomcat整合的安装与配置

    ### Linux下Nginx+Tomcat整合的安装与配置详解 在现代的Web服务器架构中,Nginx作为高性能的反向代理服务器和负载均衡器,常被用来与Tomcat等应用服务器配合使用,以提高网站的响应速度、稳定性和安全性。本文将...

    linux下安装Nginx以及配置文件详解

    ### Linux 下 Nginx 的安装与配置详解 #### 一、Nginx 概述 Nginx(发音为 "engine X")是一款开源的 Web 服务器,它以高性能著称,尤其在处理高并发连接方面表现优异。Nginx 除了作为 HTTP 服务器外,还可以作为...

    linux下安装nginx

    本文将指导您如何在 Linux 下安装 Nginx 服务器,并进行基本配置。 下载和解压 Nginx 首先,我们需要下载 Nginx 的稳定版本。您可以访问 Nginx 的官方 Wiki,下载最新的稳定版本。下载完成后,将其上传到 Linux ...

    Linux下安装nginx服务器

    本文将详细介绍如何在Linux环境下安装Nginx服务器。 首先,我们需要确保系统已经安装了必要的开发工具,例如GCC编译器、pcre库(用于正则表达式支持)和zlib库(用于数据压缩)。这些工具通常可以通过包管理器来...

    Linux离线安装nginx安装包

    在Linux系统中,离线安装Nginx是一个常见的需求,特别是在没有互联网连接或者网络环境受限的服务器上。本文将详细讲解如何通过离线方式在Linux上安装Nginx,同时也会涉及Nginx依赖的软件如openssl和gcc的安装过程。 ...

    linux离线环境下nginx安装包-附带所有依赖环境和安装教程

    本文将详细介绍如何使用提供的Linux离线环境下Nginx安装包,包括所有必要的依赖环境和安装教程。 Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,它以其高效稳定和低内存占用而闻名。在Linux系统中,Nginx...

    Linux 离线 安装Nginx必要环境, 包含openssl模块

    在Linux环境中,离线安装Nginx及其依赖项,特别是openssl模块,是一项常见的任务,尤其在没有互联网连接或者网络受限的服务器上。本教程将详细解释如何进行这一操作。 首先,你需要确保你的Linux系统是基于RPM(Red...

    基于linux下nginx的安装及项目部署

    【标题】:“基于Linux下Nginx的安装与项目部署详解” 【描述】:本文将详细介绍如何在Linux系统中安装Nginx,并探讨其主要功能,包括反向代理、负载均衡以及项目部署的具体操作。 【标签】:“Nginx”,“Nginx...

    基于linux离线安装nginx的全包,及安装流程命令说明

    本教程将详述如何在离线环境下在Linux系统上安装Nginx,同时结合lua-resty库实现与MySQL和Redis的集成,以及安装过程中可能遇到的问题及其解决方案。 一、离线安装Nginx 1. 首先,确保系统已经安装了必要的依赖,...

    linux 下安装nginx步骤及命令

    Linux 下安装 Nginx 步骤及命令 Linux 操作系统中安装 Nginx 服务器的步骤和命令详解。该文档将指导用户从头开始安装 Nginx,包括安装 OpenSSL、GCC、PCRE 和 Zlib 库,并最终安装 Nginx 服务器。 安装 OpenSSL --...

    Linux离线安装Nginx资源包

    下面将详细介绍如何在Linux离线环境下安装Nginx,并使用提供的资源包"nginxpackage"。 首先,你需要确保你的Linux系统已经安装了必要的编译工具和依赖库。这些通常包括GCC编译器、Make、zlib库、pcre库和openssl库...

    Linux下nginx的安装及配置负载均衡

    Linux下nginx的安装及配置负载均衡 Linux下nginx的安装及配置负载均衡是指在Linux操作系统中安装和配置nginx服务器,以实现负载均衡的功能。nginx是一款轻量级的Web服务器软件,支持反向代理、负载均衡、缓存等功能...

    Linux在有网的情况下安装nginx以及设置自启

    本教程将详细介绍如何在有网络连接的环境中,一步步安装Nginx并设置其开机自启,适用于Linux的新手用户。 首先,你需要将Nginx的源代码包(例如:nginx-1.18.0.tar.gz)上传到服务器的/usr/local目录下。这通常可以...

    linux安装nginx/1.25.2

    linux安装nginx/1.25.2,并配置systemctl管理nginx的启动关闭状态等

    linux离线安装nginx,解压就可以用 不用编译,直接运行即可

    Linux系统下无网络环境安装nginx,直接解压即可使用,不用编译,不依赖其他 1.启动nginx,进入nginx安装目录执行:./sbin/nginx -c ./conf/nginx.conf 2.重启新加载nginx配置文件,进入nginx安装目录执行:./sbin/...

    linux操作系统下安装nginx步骤

    在Linux操作系统下安装Nginx是一项常见的任务,尤其对于服务器管理员和Web开发者而言。Nginx是一个高性能的HTTP和反向代理服务器,以其高效的性能、稳定性以及对高并发请求的处理能力而广受青睐。本教程将详细介绍在...

    linux安装nginx并支持ssl

    linux安装nginx并支持ssl,使得服务器支持证书签名,提升应用的安全性

    linux系统离线安装nginx所需压缩包

    在Linux系统中,离线安装Nginx是一项常见的任务,特别是在没有互联网连接或者网络环境受限的服务器上。本文将详细讲解如何使用给定的压缩包文件进行离线安装Nginx,涉及的主要组件包括OpenSSL、PCRE2、ZLIB和Nginx...

Global site tag (gtag.js) - Google Analytics