CentOS下nginx简单安装
说明:
环境
1 2 | 系统:Centos 6 软件包:nginx-1.2.4 |
配置系统yum源
1 2 3 4 5 6 7 8 | #/etc/yum.repos.d/ #rm -rf ./* vi localhost.repos.d [yumyuan] name=CentOS-$releasever - Media #自定义名称 baseurl=file: ///mnt/cdrom/ #本地光盘挂载路径 gpgcheck=0 #检查GPG-KEY,0为不检查,1为检查 enabled=1 #启用yum源,0为不启用,1为启用 |
2: 安装步骤
因为nginx模块需要第三方库的支持,需要安装下列库.
安装gcc编译器及相关工具
1 | #yum -y install gcc gcc-c++ autoconf automake make |
安装相关依赖的模块
1 | yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel |
创建nginx系统账户:
由于nginx是系统服务,运行此服务需要系统账户。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # groupadd nginx # useradd -r -g nginx -s /sbin/nologin -M nginx 软件源码包存放位置:/opt/ #cd /opt/ # tar -zxvf nginx-1.2.4.tar #cd nginx-1.2.4 #./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module //通过编译源码的方式进行安装 #make #make install 启动Nginx #启动nginx #/usr/local/nginx/sbin/nginx -t 显示以下信息为正确的 the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful #/usr/local/nginx/sbin/nginx 启动成功后,查看nginx进程信息: # ps -ef | grep nginx ,看是否存在nginx的进程来确认是否成功启动。 1.在配置nginx 时提示如下错误时: #/usr/local/nginx/sbin/nginx -t nginx: [emerg] getpwnam(“nginx”) failed |
解决方案
1 | 在nginx.conf中 把user nobody的注释去掉既可 |
2.重启nginx后丢失nginx.pid问题解决
1 | /usr/local/nigix/sbin/nginx -c /usr/local/nigix/conf/nginx.conf |
重启动nginx
1 | #/usr/local/nginx/sbin/nginx -s reload |
测试http://ip地址/
同时记得检查centos防火墙设置,是否开启了相应端口,可使用setup命令来设置防火墙、dns、网络等信息。如果默认的配置文件未做任何改动,使用浏览器直接访问nginx
server,会出现提示:Welcome to Nginx
nginx.conf文件详解:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | ########nginx全局配置,将影响其他所有设置################################### #user nobody; # worker进程运行用户以及用户组 worker_processes 2; #启动进程,通常设置成和cpu的数量相等 error_log / var /log/nginx/error.log; ##全局错误日志及PID文件 pid / var /run/nginx.pid; #指定进程id的存储文件位置 #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024; #单个后台worker process进程的最大并发链接数 #multi_accept on; } #对http服务器进行配置 http { #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' ; #设定日志格式 access_log / var /log/nginx/access.log main #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on ; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on ; #开启gzip压缩 gzip on ; gzip_disable "MSIE [1-6]\.(?!.*SV1)" ; #主机设置 server { #侦听80端口 listen 80; #定义使用www.xx.com访问 server_name www.xx.com; #设定本虚拟主机的访问日志 access_log logs/www.xx.com.access.log main; #默认请求(url匹配设置) location / { root /usr/local/nginx/html; #定义服务器的默认网站根目录位置 index index.php index.html index.htm; #定义首页索引文件的名称 } # 定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/nginx/html; } } #server } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现