在CentOS上安装nginx服务器(centos搭建代理服务器)
nanshan 2025-06-04 00:08 16 浏览 0 评论
一、环境描述
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
相关推荐
- Let’s Encrypt免费搭建HTTPS网站
-
HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入...
- 使用Nginx配置TCP负载均衡(nginx tcp负载)
-
假设Kubernetes集群已经配置好,我们将基于CentOS为Nginx创建一个虚拟机。以下是实验种设置的详细信息:Nginx(CenOS8Minimal)-192.168.1.50Kube...
- Nginx负载均衡及支持HTTPS与申请免费SSL证书
-
背景有两台minio文件服务器已做好集群配置,一台是192.168.56.41:9000;另一台是192.168.56.42:9000。应用程序通过Nginx负载均衡调用这两台minio服务,减轻单点...
- HTTPS配置实战(https配置文件)
-
原因现在网站使用HTTPS是规范操作之一,前些日子买了腾讯云服务,同时申请了域名http://www.asap2me.top/,目前该域名只支持HTTP,想升级为HTTPS。关于HTTPS的链接过程大...
- 只有IP地址没有域名实现HTTPS访问方法
-
一般来说,要实现HTTPS,得有个注册好的域名才行。但有时候呢,咱只有服务器的IP地址,没注册域名,这种特殊情况下,也能照样实现HTTPS安全访问,按下面这些步骤来就行:第一步,先确认公网...
- 超详解:HTTPS及配置Django+HTTPS开发环境
-
众所周知HTTP协议是以TCP协议为基石诞生的一个用于传输Web内容的一个网络协议,在“网络分层模型”中属于“应用层协议”的一种。在这里我们并不研究该协议标准本身,而是从安全角度去探究使用该协议传输数...
- Godaddy购买SSL之后Nginx配置流程以及各种错误的解决
-
完整流程:参考地址:https://sg.godaddy.com/zh/help/nginx-generate-csrs-certificate-signing-requests-3601生成NGI...
- Nginx从安装到高可用,一篇搞定(nginx安装与配置详解)
-
一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yuminstallgc...
- 阿里云免费证书申请,配置安装,使用tomcat,支持http/https访问
-
参数说明商品类型默认已选择云盾证书服务(无需修改)。云盾证书服务类型SSL证书服务的类型。默认已选择云盾SSL证书(无需修改),表示付费版SSL证书。如果您需要免费领取或付费扩容DV单域名证书【免费试...
- 你试过两步实现Nginx的规范配置吗?极速生成Nginx配置小工具
-
NGINX是一款轻量级的Web服务器,最强大的功能之一是能够有效地提供HTML和媒体文件等静态内容。NGINX使用异步事件驱动模型,在负载下提供可预测的性能。是当下最受欢迎的高性能的Web...
- 从零开始搭建HTTPS服务(搭建https网站)
-
搭建HTTPS服务的最初目的是为了开发微信小程序,因为wx.request只允许发起HTTPS请求,并且还必须和指定的域名进行网络通信。要从零开始搭建一个HTTPS的服务需要下面4...
- 群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问
-
安全第一步,群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问【新手导向】NAS本质还是一个可以随时随地访问的个人数据存储中心,我们在外网访问的时候,特别是在公网IP下,其实会面临着很多安...
- 让网站快速升级HTTPS协议提高安全性
-
为什么用HTTPS网络安全越来越受到重视,很多互联网服务网站,都已经升级改造为https协议。https协议下数据包是ssl/tcl加密的,而http包是明文传输。如果请求一旦被拦截,数据就会泄露产生...
- 用Https方式访问Harbor-1.9版本(https访问流程)
-
我上周在头条号写过一篇原创文章《Docker-Harbor&Docker-kitematic史上最详细双系统配置手册》,这篇算是它的姊妹篇吧。这篇文章也将用到我在头条写的另一篇原创文章的...
- 如何启用 HTTPS 并配置免费的 SSL 证书
-
在Linux服务器上启用HTTPS并配置免费的SSL证书(以Let'sEncrypt为例)可以通过以下步骤完成:---###**一、准备工作**1.**确保域名已解析**...
你 发表评论:
欢迎- 一周热门
-
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
【系统配置】信创终端挂载NAS共享全攻略:一步到位!
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
WindowsServer2022|配置NTP服务器的命令
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)