1、Linux安装nginx
1.1、yum安装
可以使用yum直接安装nginx:yum -y install nginx,如果安装报错,可以换个yum源试试
源码安装提供更大的灵活性,但需要更多的手动管理,而Yum安装则更方便
yum源镜像站,阿里云的推荐:https://developer.aliyun.com/mirror/
常用的镜像:epel和centos,根据提示命令直接安装即可
然后执行:yum clean all、和yum makecache
1.2、源码安装
我的系统版本:centos7.9
安装的nginx版本:nginx-1.25.3
1、下载安装包后上传到主机,或直接wget下载:wget http://nginx.org/en/download.html/nginx-1.25.3
2、进行解压:tar zxf nginx-1.25.3.tar.gz,然后进入nginx目录:cd nginx-1.25.3
3、安装依赖:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
4、配置configure --prefix 代表安装的路径,–with-http_ssl_module 安装ssl,–with-http_stub_status_module:
./configure --prefix=/usr/local/nginx-1.25.3 --with-http_ssl_module --with-http_stub_status_module
5、编译安装:make & make install
6、进入安装的目录,并启动nginx:cd /usr/local/nginx-1.25.3/sbin,启动:./nginx
7、配置变量:cp /usr/local/nginx-1.25.3/sbin/nginx /usr/bin/
系统变量如下:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
8、这时候就可以直接访问试试是否正常了
1.3、配置nginx开机自启
配置开机自启程序:建议在/etc/systemd/system/目录下配置对应文件
1、vi /etc/systemd/system/nginx.service
2、编辑参数
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx-1.25.3/sbin/nginx -t -c /usr/local/nginx-1.25.3/conf/nginx.conf
ExecStart=/usr/local/nginx-1.25.3/sbin/nginx -c /usr/local/nginx-1.25.3/conf/nginx.conf
ExecReload=/usr/local/nginx-1.25.3/sbin/nginx -s reload
ExecStop=/usr/local/nginx-1.25.3/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
含义
[Unit] 部分:
Description(描述): 服务的可读性描述。
After(在之后启动): 定义在启动此单元之后应该启动的其他单元。
[Service] 部分:
Type(类型): 指定服务的类型。forking 类型是指当服务启动时,主进程会派生(fork)出一个或多个子进程。
ExecStartPre(启动前的命令): 在实际启动 Nginx 之前执行的命令,用于检查配置文件是否正确。在这里,
-t 参数表示测试配置文件的语法。
ExecStart(启动命令): 实际启动 Nginx 的命令。-c 参数用于指定配置文件的路径。
ExecReload(重载命令): 用于重新加载 Nginx 配置的命令。这里使用 -s reload 参数。
ExecStop(停止命令): 停止 Nginx 的命令。这里使用 -s stop 参数。
PrivateTmp(私有临时目录): 将服务的临时目录设为私有的,以增加安全性。
[Install] 部分:
WantedBy(被期望在哪个目标中启用): 指定服务应该在哪个系统目标中启动。multi-user.target 表示在多用户模式下启用。
如果你想替换 Nginx 的路径,将所有 /usr/local/nginx-1.25.3 替换为你实际的安装路径即可。
确保路径和文件名与你的实际安装一致
3、systemctl daemon-reload
4、sudo systemctl enable nginx
5、sudo systemctl start nginx
6、sudo systemctl status nginx,查看状态是否正常
注:这时候你执行第5步的时候会报错,因为之前已经启动nginx了,会提示端口占用,解决方法,kill掉占用的pid,或直接重启即可
1.4、配置域名和重定向
1、编辑配置文件:vi /usr/local/nginx-1.25.3/conf/nginx.conf
找到代码块:
server {
listen 80;
server_name 这里写域名;
return 301 https://blog.csdn.net/weixin_54106903?type=blog;
}
return 301 重定向url;
2、检查nginx配置文件是否正确:nginx -t
3、然后重载nginx服务:nginx -s reload
4、访问测试即可:curl http://域名,或加-L访问重定向后的界面
1.5、配置多域名访问
1、编辑配置文件:vi /usr/local/nginx-1.25.3/conf/nginx.conf
找到代码块,我是重新加了一个server代码块,如果每个域名需要不同的处理逻辑或安全策略,使用不同的 server 块可能更清晰:
代码块1:
server {
listen 80;
server_name A123;
return 301 https://blog.csdn.net/weixin_54106903?type=blog;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
代码块2:
server {
listen 80;
server_name B123;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
2、nginx -s reload
3、测试:curl http://域名
1.6、如何配置反向代理
1、编辑配置文件:vi /usr/local/nginx-1.25.3/conf/nginx.conf
server {
listen 80;
server_name 域名;;
location / {
# root html;
# index index.html index.htm;
proxy_pass https://www.baidu.com:443;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
proxy_pass url; 即可
2、systemctl restart nginx
3、验证
1.7、nginx配置IPv6
1、先确认你的域名解析到了服务器的IPv6地址
2、编辑配置文件:vi /usr/local/nginx-1.25.3/conf/nginx.conf
server {
listen [::]:80;
server_name v6.cjzzrr.cn;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
3、重启nginx:systemctl restart nginx
4、查看是否有tcp6格式的80监听
5、测试访问:curl -6 http://v6.cjzzrr.cn
或使用,实现确认你主机有v6环境才能访问v6网站:curl -6g http://[IPv6地址]
2、nginx如何配置https
2.1、申请证书
推荐使用阿里云的证书:
2.2、配置nginx
1、先在conf目录下创建cert目录:/usr/local/nginx-1.25.3/conf/cert
2、上传证书,因为证书文件较小,我用的rz上传的,yum -y install lrzsz,然后使用rz选择你本地的证书上传:
3、编辑配置文件:vi /usr/local/nginx-1.25.3/conf/nginx.conf
参数如下:
server {
listen 443 ssl;
server_name www.cjzzrr.cn;
ssl_certificate /usr/local/nginx-1.20.2/conf/cert/www.cjzzrr.cn.pem;
ssl_certificate_key /usr/local/nginx-1.20.2/conf/cert/www.cjzzrr.cn.key;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
4、重启服务:systemctl restart nginx
5、验证:正确
文章来源:https://www.toymoban.com/news/detail-830576.html
文章来源地址https://www.toymoban.com/news/detail-830576.html
到了这里,关于yum安装nginx、源码安装、nginx开机自启、配置多域名与重定向、反向代理、配置IPv6、获取证书与配置证书https的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!