CentOS7 安装nginx

安装

步骤一:安装编译文件及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre-devel

步骤二:进入local目录

cd /usr/local

步骤三:下载并解压nginx

下载

wget https://nginx.org/download/nginx-1.25.2.tar.gz

下载可能会很慢,不如直接浏览器或者迅雷下载文件,文件复制到对应目录下

解压

tar -zxvf nginx-1.25.2.tar.gz

步骤四: 进入安装包目录

cd nginx-1.25.2

步骤五: 编译安装nginx,默认安装到 /usr/local/nginx中

1.执行配置文件

./configure

或者

./configure --prefix=/usr/local/nginx

--prefix=/usr/local/nginx可以不写,默认的

2.编译和安装,安装后会在/usr/local路径下,生成/nginx路径,编译后的文件在此路径下

make && make install

执行

/usr/local/nginx/sbin/nginx

如果127.0.0.1可以显示,则安装成功

参考:

https://blog.csdn.net/sinat_38798245/article/details/109615195

配置服务和开机自启动

1.进入/usr/lib/systemd/system

cd /usr/lib/systemd/system

2.创建nginx.service

touch nginx.service

3.vim编辑nginx.service,里面的路径根据自己实际情况修改

vim /usr/lib/systemd/system/nginx.service

文件内容如下:

复制代码

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

复制代码

里面的路径改成自己的

配置完后需要刷新配置

systemctl daemon-reload

命令

复制代码
#设置开机自启
systemctl enable nginx.service
#关闭开机自启动
systemctl disable nginx.service
#查看所有开机启动项
systemctl list-unit-files |grep enabled
#开启服务
systemctl start nginx.service
#关闭服务
systemctl stop nginx.service
#重新加载配置
systemctl reload nginx.service
#查看状态
systemctl status nginx.service
复制代码

 参考:

https://blog.csdn.net/qq_34869990/article/details/103727377

查看nginx是否启动成功

第一种:

ps -ef | grep nginx

也能看是哪个config配置文件启动的,也能看nginx安装目录

第二种:

ps -C nginx -o pid

第三种:

netstat -anp | grep :80

第四种:

lsof -i:80

nginx查看版本号

/usr/local/nginx/sbin/nginx -V

杀死所有的nginx 进程

killall nginx

开启nginx的ssl模块

1.重新进入安装包目录

cd /usr/local/nginx-1.25.2

2.修改安装的配置内容

./configure --with-http_stub_status_module --with-http_ssl_module

或者

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

--prefix=/usr/local/nginx可以不写,默认的

3.重新编译和安装

注:网上说重新安装可能覆盖原conf文件,建议先备份,我自己试的是没有覆盖

make && make install

4.把新的nginx执行文件,覆盖原来的nginx执行文件,或者先去执行以下./nginx -V试试,不行再执行这一步

cp objs/nginx /usr/local/nginx/sbin/nginx

5.进入nginx编译好的目录下,查看安装的模块

cd /usr/local/nginx/sbin
./nginx -V

 6.conf的ssl配置省略

由于nginx有缓存功能,当代理的域名由于ddns把ip变更,导致nginx代理失败

如果域名绑定的ip是实时变化的,当ip变化时,nginx里有域名解析的缓存,还是用的之前的ip,就会有问题

使用nginx的resolver

配置如下

复制代码
server {
    listen       80;
    server_name  localhost;

    resolver 223.5.5.5 114.114.114.114 8.8.8.8 valid=10s;
    resolver_timeout 3s;
    location / {
        set $upstream_param "www.test.com:8080";
        proxy_pass http://$upstream_param;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
复制代码

 开启nginx的ipv6模块

1.重新进入安装包目录

cd /usr/local/nginx

2.修改安装的配置内容

./configure --with-ipv6

或者

./configure --prefix=/usr/local/nginx --with-ipv6

--prefix=/usr/local/nginx可以不写,默认的

3.重新编译和安装

注:网上说重新安装可能覆盖原conf文件,建议先备份,我自己试的是没有覆盖

make && make install

4.把新的nginx执行文件,覆盖原来的nginx执行文件,或者先去执行以下./nginx -V试试,不行再执行这一步

cp objs/nginx /usr/local/nginx/sbin/nginx

5.进入nginx编译好的目录下,查看安装的模块

cd /usr/local/nginx/sbin
./nginx -V

 

 

make && make install
posted @   精神病人王大夫  阅读(361)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示