在CentOS上安装nginx服务器
1. 虚拟机配置
CPU:单核
内存:2 GB
硬盘:120 GB
IP:10.24.17.108
2. 操作系统
版本:CentOS 6.6 x86_64
安装方式:Minimal
3. 虚拟化环境
VMware Workstation 12.1.0
4. nginx
版本:nginx-1.10.1.tar.gz
安装方式:编译源码安装
二、下载nginx源码包
在bash中运行以下命令,下载nginx的源码包:
cd /root/Downloads
# 下载nginx源码包
wget http://nginx.org/download/nginx-1.10.1.tar.gz
# 下载pcre源码包
wget http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
# 下载zlib源码包
wget http://zlib.net/zlib-1.2.8.tar.gz
三、安装依赖包
在bash中运行以下命令,在服务器上安装nginx的依赖包:
yum –disablerepo=\* –enablerepo=c6-media install -y openssl openssl-devel
在bash中运行以下命令,安装编译环境:
yum –disablerepo=\* –enablerepo=c6-media groupinstall -y “Development Tools”
四、创建用户和组
在bash中运行以下命令,为nginx创建用户和组:
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
五、解压缩源码包
在bash中运行以下命令,解压缩nginx和依赖包的源码包:
tar xvzf nginx-1.10.1.tar.gz
tar xvzf pcre-8.38.tar.gz
tar xvzf zlib-1.2.8.tar.gz
cd nginx-1.10.1
六、编译安装
在bash中运行以下命令,编译安装nginx:
# 配置编译选项
./configure \
–prefix=/usr/local/nginx \
–user=nginx \
–group=nginx \
–with-select_module \
–with-poll_module \
–with-http_ssl_module \
–with-pcre=/root/Downloads/pcre-8.38 \
–with-pcre-jit \
–with-zlib=/root/Downloads/zlib-1.2.8
# 编译安装
make && make install
七、配置自动启动服务
在bash中运行以下命令,将nginx配置为自动启动的系统服务:
vi /etc/init.d/nginx
在上述init脚本中输入并保存以下内容:
#!/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
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/pid/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0
nginx=”/usr/local/nginx/sbin/nginx”
prog=$(basename $nginx)
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”
lockfile=/usr/local/nginx/lock/nginx.lock
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep “configure arguments:” | sed ‘s/[^*]*–user=\([^ ]*\).*/\1/g’ -`
if [ -z “`grep $user /etc/passwd`” ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep ‘configure arguments:’`
for opt in $options; do
if [ `echo $opt | grep ‘.*-temp-path’` ]; then
value=`echo $opt | cut -d “=” -f 2`
if [ ! -d “$value” ]; then
# echo “creating” $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
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
}
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|configtest)
$1
;;
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|configtest}”
exit 2
esac
修改脚本权限,然后设置为随系统自动启动:
mkdir -p /usr/local/nginx/pid
mkdir -p /usr/local/nginx/lock
chmod 755 /etc/init.d/nginx
chkconfig nginx on
配置环境变量:
sed -i ’80s/$/&:\/usr\/local\/nginx\/sbin/’ /etc/profile
source /etc/profile
至此,可以通过以下命令操作nginx服务:
# 启动nginx服务
service nginx start
# 停止nginx服务
service nginx stop
# 重启nginx服务
service nginx restart
# 查看nginx服务状态
service nginx status
八、开启gzip压缩
在bash中运行以下命令,为nginx开启gzip压缩功能,减少网络带宽占用:
# 配置pid文件位置
sed -i ‘9s/#pid logs\/nginx.pid;/pid pid\/nginx.pid;/’ /usr/local/nginx/conf/nginx.conf
# 启用gzip压缩
sed -i ’33s/#gzip on;/gzip on;/’ /usr/local/nginx/conf/nginx.conf
# 启用gzip压缩的最小文件
sed -i ’33a\ gzip_min_length 1k;’ /usr/local/nginx/conf/nginx.conf
# gzip压缩级别
sed -i ’34a\ gzip_comp_level 2;’ /usr/local/nginx/conf/nginx.conf
# 进行压缩的文件类型
sed -i ’35a\ gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;’ /usr/local/nginx/conf/nginx.conf
# 是否在http header中添加Vary: Accept-Encoding
sed -i ’36a\ gzip_vary on;’ /usr/local/nginx/conf/nginx.conf
# 禁用IE 6 gzip
sed -i ’37a\ gzip_disable “MSIE [1-6]\\.”;’ /usr/local/nginx/conf/nginx.conf
# 为ttf、otf和svg字体启用gzip
sed -i ’38a\ gzip_types font/ttf font/otf image/svg+xml;’ /usr/local/nginx/conf/nginx.conf
# 上传文件最大尺寸
sed -i ’39a\ client_max_body_size 20m;’ /usr/local/nginx/conf/nginx.conf
九、开启缓存
在bash中运行以下命令,为nginx开启静态内容缓存,减少网络带宽占用:
# 为图片文件设置缓存
sed -i ’85a\\n’ /usr/local/nginx/conf/nginx.conf
sed -i ’86a\ location ~* ^.+\\.(ico|gif|jpg|jpeg|png)$ {‘ /usr/local/nginx/conf/nginx.conf
sed -i ’87a\ access_log off;’ /usr/local/nginx/conf/nginx.conf
sed -i ’88a\ expires 30d;’ /usr/local/nginx/conf/nginx.conf
sed -i ’89a\ }’ /usr/local/nginx/conf/nginx.conf
# 为文本文件设置缓存
sed -i ’90a\’ /usr/local/nginx/conf/nginx.conf
sed -i ’91a\ location ~* ^.+\\.(css|js|txt|xml|swf|wav)$ {‘ /usr/local/nginx/conf/nginx.conf
sed -i ’92a\ access_log off;’ /usr/local/nginx/conf/nginx.conf
sed -i ’93a\ expires 24h;’ /usr/local/nginx/conf/nginx.conf
sed -i ’94a\ }’ /usr/local/nginx/conf/nginx.conf
# 为静态页面设置缓存
sed -i ’95a\\n’ /usr/local/nginx/conf/nginx.conf
sed -i ’96a\ location ~* ^.+\\.(html|htm)$ {‘ /usr/local/nginx/conf/nginx.conf
sed -i ’97a\ expires 1h;’ /usr/local/nginx/conf/nginx.conf
sed -i ’98a\ }’ /usr/local/nginx/conf/nginx.conf
# 为字体设置缓存
sed -i ’99a\’ /usr/local/nginx/conf/nginx.conf
sed -i ‘100a\ location ~* ^.+\\.(eot|ttf|otf|woff|svg)$ {‘ /usr/local/nginx/conf/nginx.conf
sed -i ‘101a\ access_log off;’ /usr/local/nginx/conf/nginx.conf
sed -i ‘102a\ expires max;’ /usr/local/nginx/conf/nginx.conf
sed -i ‘103a\ }’ /usr/local/nginx/conf/nginx.conf
十、启动服务
在bash中运行以下命令,启动nginx服务:
service nginx start
在CentOS上安装nginx服务器相关推荐
- 关于linux上安装nginx服务器,win10中IE不能访问,谷歌可以访问的问题
前面我在centos中安装nginx服务器后后,在用win10访问时出现一个问题: Win10中的Edge浏览器无法访问nginx,而谷歌可以访问nginx. java代码中利用工具类访问nginx时 ...
- linux slf4j.rpm,Centos下安装nginx rpm包
1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...
- linux nginx rpm 安装配置,Centos下安装nginx rpm包
1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...
- 如何在 CentOS 7 上安装 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- 阿里云服务器上安装nginx
转自:https://blog.csdn.net/u014209205/article/details/78921870 在阿里云服务器上安装nginx中遇到一些问题,现将步骤罗列下, 环境是:cen ...
- 在CentOS 6.3 64bit上安装Nginx 1.8.0
根据工作需要,现在需要安装nginx服务器,本来可以直接安装别人制作好的rpm包的,但是本着爱折腾和时刻尝鲜的精神,我决定从官网下载最新的nginx源码来安装,下面记录了我的安装过程. 下面的安装假定 ...
- 在CentOS 6.8上安装Nginx
本文主要记录在CentOS 6.8版的Linux环境下安装Nginx的操作流程,具体步骤如下: 步骤一:到Nginx官网上下载软件,http://nginx.org/en/download.html ...
- linux 安装nfs 客户端,在CentOS 7上安装NFS服务器和客户端
NFS服务器和客户端安装在CentOS 7上 版本1.0 作者:Srijan Kishore 在Twitter上关注howtoing 最后编辑 16 / Dec / 2014 本指南介绍如何在Cent ...
- centos 6.5 php nginx,CentOS6.5上安装nginx与php5.5
CentOS6.5上安装nginx与php5.5 2014年04月08日 1. 安装必要的包 # rpm -Uvh http://download.fedoraproject.org/pub/epel ...
最新文章
- RPC是什么?为什么要学习RPC?
- HDU - 6118 度度熊的交易计划(最大费用可行流)
- vs2012编译boost_1_54_0
- 工作125:各个接口需要的token不同 token是获取数据的关键
- leetcode538 把二叉搜索树转换成累加树
- 不得不看之跳槽加薪利器:2019需求最旺盛的十大IT技能
- java list stream avg_Java 8 Stream API中的多个聚合函数
- JSF请求处理过程(一) FacesServlet初始化
- 一个java 验证码的实现提供多种的实现
- 小学计算机打字比赛教案,小学信息技术二年级教案
- 《Java 开发从入门到精通》—— 2.4 Java的运行机制
- 自我监督学习和无监督学习_弱和自我监督的学习-第2部分
- jsp代码项目例子_【jav笔记】057天,jsp。
- Google Chrome浏览器模拟设置不同分辨率
- 【python爬虫】动漫之家漫画下载(scrapy)
- 计算机相关技术资料整理
- 解决VBE6EXT.OLB不能被加载问题
- javafor循环基础练习 -26个大小写字母
- UE4无法创建C++类
- plc无法跟计算机通信,无法与PLC通信
热门文章
- linux踩内存内存越界,云风的 BLOG
- 大屏幕显示屏 html,大屏幕显示器相关信息【详细介绍】
- python爬虫爬取网页图片_Python爬虫:爬取网页图片
- 我的世界pe服务器插件制作,我的世界pe服务器连接方法 pe服务器插件大全
- 总结从T5、GPT-3、Chinchilla、PaLM、LLaMA、Alpaca等近30个最新模型
- 【网络安全】考试试卷十二
- 插座问题,体育馆内要举办一场程序设计竞赛的现场赛,需要接入服务器、路由器、打印机、电脑等电子设备(假定所有用电器的插头都是三头的)。而体育馆内的墙上只有一个三孔插座可供使用。现在组委会需要购买一批插
- TypeError: CorsMiddleware() takes no arguments
- 假期出行小程序+chatgpt旅游攻略
- 2月天猫户外运动类目数据:露营野炊、冲浪滑板销量激增