在aliyun linux 5.7下配置nginx服务器(senginx)
安装nginx需要提前编译好libmcrypt、curl、pcre库、zlib库,以上这几个的安装可以查看本站的相关说明文档。
安装这几个库之前最好把yum源进行更新,更新完成之后首先安装c++等编译工具
yum install -y gcc gcc-c++
这里简要回顾一下这几个库的安装过程:
libmcrypt的安装:
cd /usr/local/src
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
mkdir -p /usr/local/libmcrypt
./configure prefix=/usr/local/libmcrypt/
make
make install
curl 安装:
cd /usr/local/src
wget http://curl.haxx.se/download/curl-7.38.0.tar.gz
tar -zxf curl-7.38.0.tar.gz
cd curl-7.38.0
ls
./configure --prefix=/usr/local/curl/
make
make install
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。下面就是具体的nginx安装过程了
1.选定源码目录
可以是任何目录,本文选定的是/usr/local/src
cd /usr/local/src
yum install -y gcc gcc-c++ (尹鸿涛新增)
2.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar -zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure
make
make install
3.安装zlib库
cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
4.安装ssl(某些vps默认没装ssl)
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
5.安装nginx
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
cd /usr/local/src wget http://senginx.org/download/senginx-1.6.1.tar.gz tar -zxvf senginx-1.6.1.tar.gz mv senginx-1.6.1 nginx-1.6.1 cd nginx-1.6.1 ./se-configure.sh --prefix=/webservers/server/nginx1.6.1 --with-pcre=/usr/local/src/pcre-8.38 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1c --with-http_secure_link_module --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-select_module --with-http_perl_module --with-http_gzip_static_module make make install
安装过程中需要注意我们使用了se-configure.sh来执行配置。
安装过程中我们不要--add-module=/webservers/tools/ngx_cache_purge-1.3 这一段配置,因为senginx中已经增加这个了,如果添加了这句,在编译时会报错。
“objs/addon/ngx_cache_purge-1.3/ngx_cache_purge_module.o:(.data+0x0): multiple definition of `ngx_http_p。。。。”
制作nginx的启动文件:vi /etc/init.d/nginx
---------------------------------------------------------------------------------------------------
#! /bin/sh
# Startup script for the nginx Web Server
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve
# HTML files and CGI.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/webservers/server/nginx1.6.1/sbin/$NAME
CONFIGFILE=/webservers/server/nginx1.6.1/conf/$NAME.conf
PIDFILE=/webservers/server/nginx1.6.1/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
do_reload() {
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
---------------------------------------------------------------------------------------------------
第三步
chmod +x /etc/init.d/nginx
第四步
/sbin/chkconfig nginx on
检查一下
sudo /sbin/chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
完成!
之后,就可以使用以下命令了
. 代码如下:
service nginx start
service nginx stop
service nginx restart
service nginx reload
/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
/etc/init.d/nginx reload
SEnginx(Security Enhanced NGINX)是著名的 HTTP 和 反向代理 服务器nginx的一个变种版本,主要是在原版nginx的基础上增加了多种Web安全功能,并增强了应用交付等方面的原有功能。SEnginx继承了nginx的全部原始特性,全面兼容标准nginx的配置,此外也吸收了一些源自tengine等优秀nginx变种的高级特性以及一些常用的第三方nginx模块。
SEnginx目前只维护一个主线分支,文档与主线版本同步。
SEnginx开源项目由东软集团网络安全事业部(http://security.neusoft.com)发起。
- linux安装pcre库(8.44)(2021-01-27)
- linux下编译memcached(1.4.24)报错的解决(2016-04-28)
- 阿里云等linux云主机设置swap空间的方法(2016-01-31)
- 在阿里云linux 15.1 64位系统编译安装mysql 5.7.10(2016-01-30)
- 64位linux下载与安装cmake(2016-01-30)
- 卸载aliyun linux 15预装的java运行环境openjdk 1.6(2016-01-30)
- 解决安装nginx时Can't locate ExtUtils/Embed.pm in @INC (@INC contains: 的错误(2016-01-12)
- 从头开始配置一台tomcat+nginx环境的阿里云ecs(2016-01-12)
- linux下安装memcached(1.4.24)服务(2015-09-09)
- aliyun linux配置vsftpd及配置iptables允许连接(2015-03-11)