素材巴巴 > 程序开发 >

nginx的两种安装流程

程序开发 2023-09-18 13:27:14

近期又在虚拟机上安装了一遍 nginx,同时发现了 nginx的简易安装流程 ,故此本次将dnf的安装流程与自编译安装流程都记录一下以供学习。

首先是nginx的官方dnf/yum制作方法:

默认RHEL/CentOS/Oracle Linux/AlmaLinux/Locky Linux存储库。这是最快的方法,但通常提供的包已过时。

https://nginx.org/en/linux_packages.html#RHEL-CentOS

https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/

第一步:安装依赖

dnf install yum-utils

第二步:
制作dnf的源

vim /etc/yum.repos.d/nginx.repo

输入内容:

[nginx-stable]
 name=nginx stable repo
 baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
 gpgcheck=1
 enabled=1
 gpgkey=https://nginx.org/keys/nginx_signing.key
 module_hotfixes=true[nginx-mainline]
 name=nginx mainline repo
 baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
 gpgcheck=1
 enabled=0
 gpgkey=https://nginx.org/keys/nginx_signing.key
 module_hotfixes=true
 

默认是选择的稳定版, 如果想要使用主线版本,可以进行切换:

yum-config-manager --enable nginx-mainline
or
dnf config-manager --enable nginx-mainline

第三步:查询版本

dnf list|grep nginx

在这里插入图片描述

第四步:安装

dnf install nginx-1.23.3

第五步:启动与开机自启

systemctl start nginx
systemctl enable nginx

之后浏览器进行访问
在这里插入图片描述失败:
失败的话检查下防火墙的设置,
1、查看防火墙是否开启

systemctl status firewalld

2、启动防火墙后,默认没有开启任何端口,需要手动开启端口。nginx默认是80端口
手动开启端口命令

firewall-cmd --zone=public --add-port=80/tcp --permanent
–zone #作用域
–add-port=80/tcp #添加端口
–permanent #永久生效

3、重启防火墙

systemctl restart firewalld.service #重启
systemctl restart firewalld.service #查看
成功图片 80端口还失败的话检查80端口
netstat -tunlp | grep 80 #检查端口
kill -9 进程号 #把检查的端口号kill

nginx手工编译安装方法

1.安装编译工具及库文件

dnf -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2.安装 PCRE
nginx rewrite依赖于PCRE库,所以需要在linux系统中编译安装PCRE库

首先查询是否安装pcre

rpm -qa pcre

如果没有安装的话按下面步骤安装

cd /download #文件夹自己选
wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz #下载
tar -zxvf pcre-8.45.tar.gz #解压

cd pcre-8.45 #进入文件夹
./configure --prefix=/usr/local/pcre #编译
make && make install #安装

3.下载 Nginx
地址:https://nginx.org/download/

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

4.进入安装包目录

tar -zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2

5.编译安装

./configure --prefix=/usr/local/nginx-1.20.2–with-http_stub_status_module --with-http_ssl_module make && make install

6.启动

/usr/local/nginx-1.20.2/sbin/nginx

systemctl start nginx

systemctl enable nginx #开机自启动

7.配置

/usr/local/nginx-1.20.2/nginx.conf

这个文件是nginx的总配置文件,一般不怎么需要改动,如果需要配置的话通常是在conf.d中新建文件夹如:

cd /usr/local/nginx-1.20.2/conf.d
vim testk1pay.conf

示例php项目 testk1pay.conf :

server {listen  80 ;server_name www.testk1pay.com;root   D:\allproject\k1pay_apptest; #rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向.#rewrite 格式为: rewrite 规则 定向路径 重写类型;#规则可以是字符串或者正则来表示想匹配的目标url#rewrite ^/(.*)$ /index.php/$1 last;意思就是讲例如 www.xx.com/abc/bcd 解析为www.xx.com/index.php/abc/bcd#last 表示完成rewrite,浏览器地址栏URL地址不变还是显示 www.xx.com/abc/bcd 且rewrite后的/index.php/abc/bcd 会重新进行location匹配.location / {index index.html index.htm index.php;if ( -f $request_filename) {break;}if ( !-e $request_filename) {rewrite ^(.*)$ /index.php/$1 last;break;}}location ~ .php(.*)$ {root  D:allprojectk1pay_apptest;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).+.php)(/?.+)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include  fastcgi_params;}
 }
 

标签:

上一篇: laravel 框架写的开源的cms系统 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。