nginx的两种安装流程
近期又在虚拟机上安装了一遍 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端口
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;}
}
标签:
相关文章
-
无相关信息