服务器操作系统 Centos 7.0
yum install vim
yum install lsof
yum install ntpdate
yum -y install gcc-c++
yum install -y unzip zip
由于服务器不能连接外网,所以需要下载到本地PC,然后再传上服务器
去官网(http://www.pcre.org/)下载对应版本的tar包到本地PC
在服务器中,进入到对应目录下面,输入rz,在本地找到对应的tar包,上传到服务器
注意这里不要在本地windows解压然后用Xftp上传,否则安装的时候会报错装不了(踩了很久的坑)
tar -xvf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make & make install
在github上搜索然后下载相应的项目压缩包,然后同样方式传到服务器上并解压(对这些模块进行统一的路径管理)
ngx_devel_kit-master
xss-nginx-module-master
headers-more-nginx-module-master
set-misc-nginx-module-master
nginx-upstream-consistent-master
nginx-http-concat-master
nginx-upload-progress-module-master
ngx_http_consistent_hash-master
目录下解压
unzip file
去官网下载(http://nginx.org/en/download.html)下载nginx对应版本的压缩包并上传,步骤同前
tar -xvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/opt/apps_install/nginx-front-1.10.3 --conf-path=/opt/conf/nginx/nginx.conf --with-mail --with-mail_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gunzip_module --with-http_ssl_module --with-pcre=./pcre-8.37 --add-module=./ngx_devel_kit-master --add-module=./xss-nginx-module-master --add-module=./headers-more-nginx-module-master --add-module=./set-misc-nginx-module-master --add-module=./nginx-upstream-consistent-master --add-module=./nginx-http-concat-master --add-module=./nginx-upload-progress-module-master --add-module=./ngx_http_consistent_hash-master
参数
--prefix是安装路径
--conf-path是配置文件路径
这里指定了安装nginx配置文件的路径,配置文件不在默认路径,在后面安装完成之后启动nginx时需要设置一下nginx启动的配置文件路径,否则后面reload重启指令会有问题,设置默认路径的软链接也可以
-``
/opt/apps_install/nginx-front-1.10.3/sbin/nginx -c /opt/conf/nginx/nginx.conf
-
--with-pcre 和 --add-module后面的路径都需要写上之前下载的相关库和模块的路径,这里我将这些都放在了nginx-1.10.3文件夹下面。
运行指令之后,没有报错的话则
make & make install
定位到安装路径启动nginx服务或者查看安装配置
/opt/apps_install/nginx-front-1.10.3/sbin/nginx -V
输出
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/apps_install/nginx-front-1.10.3 --conf-path=/opt/conf/nginx/nginx.conf --with-mail --with-mail_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gunzip_module --with-http_ssl_module --with-pcre=/opt/tools/pcre-8.37 --add-module=./ngx_devel_kit-master --add-module=./xss-nginx-module-master --add-module=./headers-more-nginx-module-master --add-module=./set-misc-nginx-module-master --add-module=./nginx-upstream-consistent-master --add-module=./nginx-http-concat-master --add-module=./nginx-upload-progress-module-master --add-module=./ngx_http_consistent_hash-master
/opt/apps_install/nginx-front-1.10.3/sbin/nginx -t
输出
nginx: the configuration file /opt/conf/nginx/nginx.conf syntax is ok
nginx: configuration file /opt/conf/nginx/nginx.conf test is successful
/opt/apps_install/nginx-front-1.10.3/sbin/nginx
ps -ef | grep nginx
结果
root 2747 2561 0 10:04 pts/0 00:00:00 grep --color=auto nginx
root 13456 1 0 May17 ? 00:00:00 nginx: master process /opt/apps_install/nginx-front-1.10.3/sbin/nginx -c /opt/conf/nginx/nginx.conf
nobody 15341 13456 0 May23 ? 00:05:05 nginx: worker process
nobody 15342 13456 0 May23 ? 00:04:59 nginx: worker process
nobody 15343 13456 0 May23 ? 00:05:00 nginx: worker process
nobody 15344 13456 0 May23 ? 00:04:51 nginx: worker process
nobody 15345 13456 0 May23 ? 00:05:02 nginx: worker process
nobody 15346 13456 0 May23 ? 00:05:05 nginx: worker process
nobody 15347 13456 0 May23 ? 00:04:56 nginx: worker process
nobody 15348 13456 0 May23 ? 00:05:01 nginx: worker process
nobody 15349 13456 0 May23 ? 00:05:02 nginx: worker process
nobody 15350 13456 0 May23 ? 00:05:03 nginx: worker process
nobody 15351 13456 0 May23 ? 00:04:59 nginx: worker process
nobody 15352 13456 0 May23 ? 00:05:06 nginx: worker process
nobody 15353 13456 0 May23 ? 00:05:02 nginx: worker process
nobody 15354 13456 0 May23 ? 00:04:56 nginx: worker process
nobody 15355 13456 0 May23 ? 00:04:59 nginx: worker process
nobody 15356 13456 0 May23 ? 00:04:57 nginx: worker process
安装成功
1、服务器固定有nginx目录的软连接,在所有的项目配置里面都可以配置固定的软连接目录来启动nginx;
2、nginx的安装路径可以在任何一个地方,只需要软连接上固定启动路径即可;
3、nginx版本切换时,可以将固定路径的软连接直接软连接到新的版本安装路径下。
ln -s /opt/apps_install/nginx-front-1.10.3 /opt/apps/nginx
/opt/apps_install/nginx-front-1.10.3 是安装路径,源路径中需要有nginx-front-1.10.3文件夹
/opt/apps/nginx 是目标路径,原先apps下不要有nginx文件夹
ll /opt/apps
输出
total 0
lrwxrwxrwx 1 root root 36 May 16 19:27 nginx -> /opt/apps_install/nginx-front-1.10.3
lrwxrwxrwx 1 root root 30 May 18 12:10 zabbix -> /opt/apps_install/zabbix-3.2.0
证明软连接有效
1、服务器固定有日志记录路径,在所有的项目配置里都可以配置固定的软连接目录来记录日志;
2、实际的日志存放路径是在软连接的源路径下,可以分配一个较大的磁盘空间作为源路径,以免日志溢出。
查看磁盘的大小和使用率
df -h
输出
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 12G 1.7G 9.7G 15% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /tmp
tmpfs 7.8G 17M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/vdc1 1008G 77M 957G 1% /data
tmpfs 1.6G 0 1.6G 0% /run/user/0
/data目录下的空间比较大,所以将源地址放在这个文件夹下
生成软连接
ln -s /data/logs/nginx /opt/logs/nginx
cd /opt/logs
ll
输出
total 0
lrwxrwxrwx 1 root root 16 May 16 15:41 nginx -> /data/logs/nginx
软连接已经接上