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 删除相关行
复制代码

 

 
posted @   0龙行者0  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示