Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2
1. 准备工作
1) gcc安装,由于nginx是c语言开发的,所以编译依赖gcc环境,命令如下
# yum install gcc-c++
假如未安装则会报如下错误:
假如已安装则略过。
2) pcre 和 pcre-devel的安装,PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 板块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,nginx也需要此库。命令如下:
# yum install -y pcre pcre-devel
假如未安装则会报如下错误:
假如已安装则略过。
3) zlib的安装,zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要安装 zlib 库。命令如下:
# yum install -y zlib zlib-devel
假如未安装则会报如下错误:
假如已安装则略过。
4) OpenSSL的安装,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或者其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),假如需要支持https,则需要安装 OpenSSL 库。命令如下:
# yum install -y openssl openssl-devel
2. 编译安装Nginx
通过http://nginx.org/en/download.html下载nginx-1.12.2.tar.gz
将nginx-1.12.2.tar.gz上传至/root,解压并拷贝到/data目录下
# tar xzvf nginx-1.12.2.tar.gz -C /data
重命名为nginx
# mv nginx-1.12.2 nginx
配置安装路径
# ./configure –prefix=/data/nginx –conf-path=/data/nginx/nginx.conf
编译安装
# make && make install
3. 通过脚本启动和关闭nginx服务
# /data/nginx/sbin/nginx //启动
# /data/nginx/sbin/nginx -s stop //关闭
# /data/nginx/sbin/nginx -s reload //重启
# ps aux | grep nginx //查看nginx进程
4. 开放80端口
假如nginx启动后,浏览器仍无法访问,则有可能是80端口未开放
# firewall-cmd –permanent –add-port=80/tcp
# firewall-cmd –reload
浏览器显示如下页面,表示启动成功
5. 配置开机自启
创立nginx启动命令脚本
# vi /etc/init.d/nginx
插入以下内容, 注意修改PATH和NAME字段, 匹配自己的安装路径
#! /bin/bash
# chkconfig: – 85 15
PATH=/data/nginx
DESC=”nginx daemon”
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/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() {
$DAEMON -s stop || echo -n “nginx not running”
}
do_reload() {
$DAEMON -s reload || 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 a+x /etc/init.d/nginx
注册服务
# chkconfig –add nginx
设置开机自启
# chkconfig nginx on
可以通过以下命令对nginx进行启动、中止、重启和重新读取操作
启动nginx服务
# systemctl start nginx.service
中止nginx服务
# systemctl stop nginx.service
重启nginx服务
# systemctl restart nginx.service
重新读取nginx配置(常用, 不用中止nginx服务就能使修改的配置生效)
# systemctl reload nginx.service
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Linux(CentOS7)下通过源码编译的方式安装和配置nginx 1.12.2