欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx的安装配置

程序员文章站 2022-07-12 20:46:27
...

nginx的配置
1、liunx基本操作命令
经过长时间的django的书写,我自己写了一个简单的项目,于是就想到了买一个阿里云服务器去配置我的项目。刚买的时候,打开远程链接,我也是一脸的迷糊。我想使用linux Ubuntu 去配置我的项目,于是我就安装了Ubuntu16.4版本的服务器,虽然在之前的windows系统中经常使用cmd(命令提示符),但是碰见这全是英文字符的界面我还是很不适应,因为很多基本的操作命令我是一无所知,堪称 linux 界 的小白。首先我先学了很多基本的操作命令:
(1)ls 查看当前目录下的文件
(2)cd 进入某个文件夹
(3)mkdir 创建一个文件夹
(4)dir 查看文件夹
(5)rm 删除文件和文件夹
(6)touch 创建文件
之后了解到的就是 对文件的操作,由于经常使用ctrl+c ,ctrl+v等操作,导致我对于Linux对文件的操作的理解很慌乱:
首先就是如何编辑文件,查了百度,是利用vim 的命令,进去文件中之后,我开始一顿操作,选中 各种删除,失败
原来 对与文件的操作,需要进入一个状态 insert 点击一个i就可以了 总而言之,言而总之,到最后还是基本熟悉了如何对一个文件的保存和更改。
:q 直接退出,不对更改的文件进行保存
:wq 保存并退出
之后还了解了很多操作命令
service nginx reload nignx 服务的重新启动
netstat -ntlp 查看运行的服务
kill 强制终止服务在这里插入代码片
sudo find / -name ‘*.log’ 查询.log的文件
等,当然碰见不懂得问题,主要还是啃别人写的博客,身为小白,对于一些基本的命名一定要记住。

2 nginx的安装

由于是第一次使用,对于nginx的理解程度基本上算是没有,经过两天的奋战,现在对于他来说我也算是了解了一点点。
推荐看一个博客,写的还不错,层次很好 特别利于小白i理解https://www.cnblogs.com/knowledgesea/p/5175711.html

由于我对nginx也不是很了解,具体它是干什么用的上面的博客看完估计也就明白了,我先要说的是nginx的安装和配置
(1)安装
1:下载nginx-1.8.1.tar.gz并上传到服务器中并解压

2:安装pcre-devel和openssl-devel

  yum -y install pcre-devel

  yum -y install openssl-devel

下面是nginx的配置
默认的nginx.conf的文件位置在 /etc/nginx/
其中在此文件夹下还有一个文件夹叫 conf.d
根据我配置的过程中可以知道 conf.d 文件下的.conf文件会自动的加入到nginx.conf 的文件配置中,也就是说 我们也可以在 conf.d 的文件夹下创建一个.conf文件来作为配置文件。下面就是配置文件的内容以及功能

   #文件扩展名与文件类型映射表
    include mime.types;
    #默认文件类型
    default_type application/octet-stream;
 
#日志相关定义
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #定义日志的格式。后面定义要输出的内容。
    #1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
    #2.$remote_user :用来记录客户端用户名称;
    #3.$time_local :用来记录访问时间与时区;
    #4.$request  :用来记录请求的url与http协议;
    #5.$status :用来记录请求状态; 
    #6.$body_bytes_sent :记录发送给客户端文件主体内容大小;
    #7.$http_referer :用来记录从那个页面链接访问过来的;
    #8.$http_user_agent :记录客户端浏览器的相关信息
    #连接日志的路径,指定的日志格式放在最后。
    #access_log  logs/access.log  main;
    #只记录更为严重的错误日志,减少IO压力
    error_log logs/error.log crit;
    #关闭日志
    #access_log  off;
 
    #默认编码
    #charset utf-8;
    #服务器名字的hash表大小
    server_names_hash_bucket_size 128;
    #客户端请求单个文件的最大字节数
    client_max_body_size 8m;
    #指定来自客户端请求头的hearerbuffer大小
    client_header_buffer_size 32k;
    #指定客户端请求中较大的消息头的缓存最大数量和大小。
    large_client_header_buffers 4 64k;
    #开启高效传输模式。
    sendfile on;
    #防止网络阻塞
    tcp_nopush on;
    tcp_nodelay on;    
    #客户端连接超时时间,单位是秒
    keepalive_timeout 60;
    #客户端请求头读取超时时间
    client_header_timeout 10;
    #设置客户端请求主体读取超时时间
    client_body_timeout 10;
    #响应客户端超时时间
    send_timeout 10;
 
#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
 
#gzip模块设置
    #开启gzip压缩输出
    gzip on; 
    #最小压缩文件大小
    gzip_min_length 1k; 
    #压缩缓冲区
    gzip_buffers 4 16k;
    #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_http_version 1.0;
    #压缩等级 1-9 等级越高,压缩效果越好,节约宽带,但CPU消耗大
    gzip_comp_level 2;
    #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
    gzip_types text/plain application/x-javascript text/css application/xml;
    #前端缓存服务器缓存经过压缩的页面
    gzip_vary on;

我是这样配置的 :nginx的安装配置
[上面的端口和uwsgi_pass需要自己配置 ,具体功能看上面的博客

当你配置完之后,就需要去看看能不能在公网上使用
如果出现nginx的安装配置
那么恭喜你,你已经成功了

但是 我在配置的时候,就出现了问题,当我运行时出现了 nginx server error 具体原因时 端口号与mysql服务的端口号重复,导致nginx服务无法正常使用。
给你们一个很好解决nginx bug的博客,思路很清晰,按照他给的思路相信你很快就能解决https://www.cnblogs.com/hiit/p/8568480.html
(上述可能存在很多问题,欢迎纠错,谢谢)