1). 安装依赖包
由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2). 下载Nginx安装包
yum install wget
wget https://nginx.org/download/nginx-1.18.0.tar.gz
wget :
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
执行完wget指令后,就会在当前所在目录看到下载下来的文件。
3). 解压nginx压缩包
tar -zxvf nginx-1.18.0.tar.gz
4). 配置Nginx编译环境
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
5). 编译&安装
make
make install
6). 常用命令
- 查看版本
./nginx -v
- 检查配置文件
修改了nginx.conf核心配置文件之后,在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:
./nginx -t
- 启动
./nginx
启动之后,我们可以通过ps -ef指令来查看nginx的进程是否存在。
ps -ef | grep nginx
注意: nginx服务启动后,默认就会有两个进程。
启动之后,我们可以直接访问Nginx的80端口, http://IP地址
注意:
要想正常访问Nginx,需要关闭防火墙或开放指定端口号,执行的指令如下:
A. 关闭防火墙
systemctl stop firewalld
B. 开放80端口
firewall-cmd –zone=public –add-port=80/tcp –permanent
firewall-cmd –reload
- 停止
./nginx -s stop
停止之后,我们可以查看nginx的进程:
ps -ef | grep nginx
- 重新加载
当修改了Nginx配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:
./nginx -s reload
7). nginx 配置文件
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/soga/jp01.shizukuneko.com.crt;
ssl_certificate_key /etc/soga/jp01.shizukuneko.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name jp01.shizukuneko.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /wspath { #/ray 路径需要和v2ray服务器端,客户端保持一致
proxy_pass https://127.0.0.1:5001/wspath; #此IP地址和端口需要和v2ray服务器保持一致,
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
常见问题
nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf