前言:
Nginx是一款开源的高性能Web服务器和反向代理服务器,由俄罗斯的程序设计师Igor Sysoev开发。Nginx可以作为HTTP服务器,也可以作为反向代理服务器,同时也支持邮件代理服务和TCP/UDP网络协议代理服务。Nginx因其高性能、稳定性和可扩展性而受到广泛的应用。 在使用Nginx作为反向代理服务器时,通常会结合v2ray使用。v2ray是一款基于VMess协议的代理软件,用于科学上网等用途。通过在Nginx配置中指定v2ray的监听端口,Nginx可以将客户端的请求转发到v2ray代理服务器上,从而实现科学上网等功能。同时,Nginx的反向代理功能还可以提供负载均衡、HTTPS协议支持、访问控制等高级功能,为科学上网提供更加可靠、安全的服务。
nginx的搭建很方便,先安装依赖,下载文件,预编译,编译,安装即可,我这里以centos7为例,教各位如何安装,一步一步走正常情况都能搭建成功,现在大部分vps都已经预装了常用命令依赖包并搭建时会给你升级系统。后续需要通过nginx来实现v2ray的反代,伪装域名等
①安装依赖包
先下载安装依赖包,避免在后面安装的时候出现问题
yum -y install gcc gcc-c++ automake make pcre pcre-devel zlib zlib-devel open openssl-devel gd-devel perl-devel perl-ExtUtils-Embed
②下载nginx-1.24.0,并解压
文件会下载到当前文件夹下,解压的时候会在当前文件夹下自动创建一个与安装包同名文件,预编译时要进入这个文件夹
wget http://nginx.org/download/nginx-1.24.0.tar.gz
解压到当前文件夹下,如我在目录/root下载的文件,那么这个压缩文件就解压在目录:/root/nginx-1.24.0
tar -xvf nginx-1.21.0.tar.gz
③通过预编译,编译来安装nginx
通过yum安装的nginx只安装基础模块,无法自定义配置,也不利于后续加装模块,所以我们用预编译、编译、安装的方式
进入解压缩的文件夹,以我的路径为例,我在root目录下
cd nginx-1.24.0
开始预编译,--prefix=/usr/local/nginx意思是指定你的安装路径,后面--with的内容是安装的模块,可自选,但是-http——ssl模块是肯定要的
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_v2_modul
执行编译
make
开始安装
make install
④编辑nginx配置文件
很重要的步骤,设置你网站读取的目录,设定各种规则
以我的安装路径为例,配置文件在/usr/local/nginx/conf/nginx.conf下,编辑它,按‘i’解除只读,写完后按‘Esc’,再按‘:wq!’或‘:q!’强制保存或退出
vi /usr/local/nginx/conf/nginx.conf
自定义一些基础简单的配置,建议通过Xftp软件来传输Windows和Linux的文件,编辑比较方便
#找到这部分内容,带#号的为注释,nginx不解析#后面的内容
server {
listen 80; #http默认监听80端口,你可以改到别的端口,这里不改
server_name localhost; #这里改为你的vps的公网IP
#charset koi8-r;
#access_log logs/host.access.log main;
location / { #这里是网页的根目录设置
root /home/www/; #我以我的路径为例,我把网页根目录设定在/home/www/下,那这里就改成/home/www/
index index.html index.htm;
} #已经可以是实现一个最基础的网页了,后面可以不需要再改了
很有用的自检命令,若在sbin目录下直接执行nginx -t即可,这里为了方便就直接给可在任意目录下执行的命令,你的配置文件是否有格式错误,反馈若出现successful、ok等字样说明格式无误(以我的安装路径为例)
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
⑤配置nginx开机自启动
安装已经结束了,现在只要简单做个快捷的系统配置,方便开关nginx,修改完配置文件都有重启一下nginx才能生效
编辑配置服务内容,按‘i’解除只读,写完后按‘Esc’,再按‘:wq!’或‘:q!’强制保存或退出
vi /usr/lib/systemd/system/nginx.service
把下面的内容复制进去,主要内容:停止进程,开启进程,重启进程等(注意你自己的nginx安装路径,以我的安装路径为例)
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile= /usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
配置完之后,需要先重载systemctl命令
systemctl daemon-reload
这时可以用systemctl命令开启nginx了
systemctl enable nginx
几个常用命令
systemctl status nginx #查看状态
systemctl start nginx #启动服务
systemctl stop nginx #停止服务
systemctl restart nginx #重启服务
systemctl disable nginx #禁止开机启动
cd /usr/local/nginx/sbin #以为我的安装路径为例,进入 sbin 目录,需再该目录下执行一下命令
./nginx #启动 Nginx
./nginx -s reload #重新加载配置文件,重启Nginx
./nginx -t #检测配置文件是否有语法错误
./nginx -s stop #停止 Nginx
./nginx -s quit #处理完所有请求后再停止服务
./nginx -s reload #重新加载 Nginx
./nginx -v #查看 Nginx 版本
⑥最后弄一个简单的静态网页
在第④步中,我们改写了nginx的配置文件,把网页根目录设置在/home/www下,这样nginx就会让该目录下的子文件夹及子文件网页显示到互联网上,或者你可以从模板之家下载网页模板,把模板直接放进网页根目录/home/www下,然后直接访问你的IP地址就可以散花了
自己弄主页不用模板的话,首先进入设置的网页读取根目录/home/www
cd /home/www
创建一个名为‘index.html’的文件
touch index.html
使用文本编辑器编辑网页
vi index.html
复制以下内容,让你的主页变成hello world,按‘i’解除只读,写完后按‘Esc’,再按‘:wq!’或‘:q!’强制保存或退出
<!DOCTYPE html>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
提醒一下,记得如果防火墙在运行,放行80,443或者其他你需要的端口,不然无法访问网页,建议先确认一下防火墙状态,以下命令是放行80和443端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
Comments NOTHING