1、编译安装
1.1、安装编译工具
首先需要安装各种必须工具:
GCC
GCC-C++
Autoconf
automake
[root@myhost /]# yum install gcc gcc-c++ autoconf automake
还需要安装一些专用的库:
支持gzip功能的:zlib库
rewrite模块:pcre库
ssl功能:openssl库
[root@myhost /]# yum install zlib zlib-devel pcre pcre-devel openssl openssl-devel
1.2、开始安装
安装时,首先需要从Nginx网站下载Nginx安装包,比如本例:nginx-1.11.3.tar.gz
该安装包是源码包,需要本地编译才可以安装运行。
将安装源码包解压到某个目录下:
[root@myhost server]# tar –zxvf nginx-1.11.3.tar.gz
然后开始编译Nginx源码,进入nginx目录,然后执行三步编译:
[root@myhost nginx-1.11.3]# ./configure
checking for OS
+ Linux 3.10.0-327.el7.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
+ gcc version: 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
checking for gcc -pipe switch ... found
… …
[root@myhost nginx-1.11.3]# make
make -f objs/Makefile
make[1]: 进入目录“/usr/server/nginx-1.11.3”
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/nginx.o \
src/core/nginx.c
… …
[root@myhost nginx-1.11.3]# make install
make -f objs/Makefile install
make[1]: 进入目录“/usr/server/nginx-1.11.3”
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
|| mkdir -p '/usr/local/nginx/sbin'
… …
编译安装之后,Nginx将会被默认安装到路径“/usr/local/nginx”下。
检查是否安装成功,首先进入/usr/local/nginx/sbin目录下,执行:
[root@myhost sbin]# ./nginx –t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
若出现如上提示,则代表安装成功。
1.3、开机自启动
需要写一个服务脚本,将Nginx作为CentOS的服务,随开机自行启动。
在“/lib/systemd/system”中创建文件nginx.service:
[root@myhost /]# vi /lib/systemd/system/nginx.service
然后将如下内容根据具体情况进行修改后,添加到nginx.service文件中:
[Unit]
Description=nginx1.11.3
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
使配置生效:
[root@myhost /]# systemctl enable nginx.service
然后重启linux系统,或者彻底杀死Nginx
[root@myhost /]# pkill -9 nginx
最终执行自动启动任务
[root@myhost /]# systemctl start nginx.service
网友评论