nginx服务器的搭建与配置(学习笔记)

目录

nginx服务器的介绍

nginx服务器的安装

安装依赖库

用configure来配置nginx安装

编译并安装nginx

nginx服务器的配置和使用

配置nginx服务器

测试与结果展示

让nginx支持https服务

配置systemctl服务(可选)

结语


nginx服务器的介绍

Nginx是一个高性能的Web服务器、反向代理服务器、负载均衡器和HTTP缓存。可以处理静态内容(如HTML、CSS、图片、视频等)并将其响应给客户端。将客户端的请求转发给后端服务器,并将响应返回给客户端。


nginx服务器的安装

小编用的是nginx-1.26.3

下载源码:进入nginx: download,下载nginx,并完成解压,效果如下

安装依赖库

sudo apt-get install libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev build-essential

安装Nginx编译所需的依赖包。这些包包括PCRE库、zlib库和OpenSSL开发库等。

用configure来配置nginx安装

sudo ./configure --sbin-path=/usr/local/nginx/sbin/nginx \
    --conf-path=/usr/local/nginx/conf/nginx.conf \
    --error-log-path=/usr/local/nginx/logs/error.log \
    --http-log-path=/usr/local/nginx/logs/access.log \
    --with-pcre \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_gzip_static_module \
    --with-stream \
    --with-stream_ssl_module

这些即决定nginx各重要配置文件的安装路径。

sbin-path:nginx启动文件路径

conf-path:配置文件路径

error-log:错误日志路径


我的安装路径为/usr/local/nginx

编译并安装nginx

make
make install

nginx服务器的配置和使用

安装完毕之后nginx文件如下:


我这里介绍几个最重要的文件:

conf:即nginx的配置文件,后续主要就是改其中的nginx.conf文件来完成nginx的配置服务。

logs:即nginx的日志文件,遇到问题要去查看其中的error.log,可以帮助我们调试。

sbin:即nginx启动文件,进入sbin,输入./nginx即可启动nginx服务器。

ssl:默认放置签名证书的文件夹,后续要通过nginx配置https服务就需要用到ssl证书。

配置nginx服务器

进入nginx/conf文件夹下输入:

vim nginx.conf

进入配置文件

以http配置为例,主要需要改的就几个地方,server表示一个服务器:listen表示监听的端口号,server_name表示ip地址,我这里用的localhost,本地ip。端口号为1234。注意:默认端口号是80,但是往往80会被其他应用占用,所以要保证nginx调用的端口是空闲的,没有被占用

sudo netstat -tuln

可以用这行代码查看端口的情况。

root即用户根文件夹,index即访问到的第一个web页面,可以同时写很多个,如果第一个访问不到就会去拿第二个,如果都拿不到的话就会进入报错界面,即error_page的内容。

我的路径在/mnt/hgfs/aic_jeff/test下

测试与结果展示

随意写一个html文件,并保存,然后更改nginx.conf配置

路径如下

用ifconfig查看本地ip,我的是192.168.0.120,端口号设置的是1234

打开浏览器输入ip端口http://192.168.0.120:1234

即可访问到自己的html文件

(注意输入的时候不要用中文,不然无法成功运行)

让nginx支持https服务

其实http和https之间只差了一个ssl证书(安全套接层协议证书),这个证书一般由CA机构认证颁发,当然我们自己学习调试可以生成自签名证书即可。


其他内容与上面一样,只需要在server里面加上这两行代码即可了。

.crt和.key即我的ssl证书,要确保路径正确.其次有了这个就变成了https协议,用浏览器访问的时候

要改成https://192.168.0.120:1234。

配置systemctl服务(可选)

先说明一下为什么要配置这个,这个可以让你直接用类似shell命令直接操作nginx,不然你每次修改完配置文件之后都要去.sbin下重新启动nginx。

创建一个名为nginx.service的服务单元文件,并将其放置在/etc/systemd/system/目录下。输入以下内容,然后就可以配置为开机自启动,并通过systemctl启动或者重启nginx服务了,这个在后续调试时候十分重要;

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

注意路径可能和我的不一样,配置的时候可能要根据你的下载路径做出调整。

修改完之后就可以直接用这样的代码来启动,查看,重载nginx了

sudo systemctl start nginx

sudo systemctl status nginx

结语

小编也处于学习状态,有什么问题或者错误,欢迎留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值