Centos上安装配置Nginx服务,并把全部文件放入/usr/My-Application/nginx文件夹中
# 创建安装目录 sudo mkdir -p /usr/My-Application cd /usr/My-Application # 下载 Nginx 源码包 wget http://nginx.org/download/nginx-1.24.0.tar.gz # 解压源码包 tar -zxvf nginx-1.24.0.tar.gz mv nginx-1.24.0 nginx
cd nginx
# 创建需要的目录
sudo mkdir -p /usr/My-Application/nginx/logs
sudo mkdir -p /usr/My-Application/nginx/conf/conf.d
# 安装编译工具和依赖库 sudo yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 如果是ubuntu系统,需要安装的编译工具和依赖库不一样
sudo apt update
sudo apt install -y wget build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
# 配置编译选项,将所有路径指向 /usr/My-Application ./configure --prefix=/usr/My-Application/nginx --conf-path=/usr/My-Application/nginx/conf/nginx.conf --pid-path=/usr/My-Application/nginx/logs/nginx.pid --error-log-path=/usr/My-Application/nginx/logs/error.log --http-log-path=/usr/My-Application/nginx/logs/access.log --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module # 编译和安装 make && sudo make install # 创建 nginx 用户(这一步是创建系统用户,指定运行nginx服务程序的用户,需要创建,并且为此用户配置相应的权限,nginx服务才能正常运行,否则会导致报错) sudo useradd -r -s /sbin/nologin nginx # 设置目录权限(好像必须要设置目录权限,如果是前面创建用户,就按照这种方式来设置,如果前面不创建用户,就要通过其它方式来设置目录权限)
sudo chown -R $USER:$USER /usr/My-Application/nginx
(其它方式)
sudo chmod -R 755 /usr/My-Application/nginx
sudo chmod -R 700 /usr/My-Application/nginx/logs
# 创建 systemd 服务文件 sudo vim /usr/lib/systemd/system/nginx.service [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/My-Application/nginx/logs/nginx.pid ExecStartPre=/usr/My-Application/nginx/sbin/nginx -t -c /usr/My-Application/nginx/conf/nginx.conf ExecStart=/usr/My-Application/nginx/sbin/nginx -c /usr/My-Application/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target # 添加到系统路径 echo "export PATH=\$PATH:/usr/My-Application/nginx/sbin" | sudo tee -a /etc/profile source /etc/profile # 重新加载 systemd sudo systemctl daemon-reload # 启动 Nginx sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx # 检查版本 /usr/My-Application/nginx/sbin/nginx -v # 检查配置 /usr/My-Application/nginx/sbin/nginx -t # 测试访问 curl http://localhost
# 重新加载nginx服务
sudo systemctl reload nginx
# 停止服务 sudo systemctl stop nginx sudo systemctl disable nginx # 删除服务文件 sudo rm /usr/lib/systemd/system/nginx.service # 删除安装目录 sudo rm -rf /usr/My-Application/nginx # 删除用户 sudo userdel nginx # 删除环境变量配置 # 编辑 /etc/profile 删除相关行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通