Linux - Nginx安装
本文由于是学习,所以使用tar包安装,Linux版本CentOS7,nginx-1.20.2,本次安装路径为/usr/local/bigData
下载&配置
官方下载地址,本人选择的这个版本是稳定版。
下载后将文件上传至Linux上面,使用mv命令移动至下面文件里面。
cd /usr/local/nginx # 进入安装目录
tar -zxvf nginx-1.20.2.tar.gz # 解压文件
yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel # 安装依赖库
cd nginx-1.20.2/ # 进入程序目录
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --error-log-path=/usr/local/nginx/log/nginx.log --pid-path=/usr/local/nginx/pid # 配置一些模块以及路径
make # 编译
make install # 安装
cd .. # 返回上一层
rm -rf nginx-1.20.2.tar.gz # 删除安装包
./sbin/nginx # 启动nginx
./sbin/nginx -s stop # 关闭nginx
./sbin/nginx -s reload # 重启
ps aux | grep nginx # 查看是否启动成功,浏览器访问自己的IP有欢迎界面安装成功
启动优化
vim /usr/lib/systemd/system/nginx.service # 配置nginx服务
ln -s /usr/lib/systemd/system/nginx.service /etc/systemd/system/nginx.service
里面填写下面的东西,注意路径地址哈,以下参考配置nginx的systemctl命令
[Unit] # 对服务的说明
Description=nginx-server # 描述服务
After=network.target remote-fs.target nss-lookup.target # 描述服务类别
[Service] # 服务的一些具体运行参数的设置
Type=forking # 后台运行的形式
PIDFile=/usr/local/nginx/pid # 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 daemon-reload # 加载一下刚刚的配置文件
systemctl start nginx # 启动nginx
systemctl status nginx # 查看nginx状态
systemctl enable nginx # 设置开机自启
启动成功
个人喜好配置
参考宝塔
修改 vim /usr/local/nginx/conf/nginx.conf 在最后面添加一行 include /usr/local/web/server/nginx/*.conf;
mkdir /usr/local/web
cd /usr/local/web
mkdir server wwwlogs wwwroot # 创建三个文件夹 wwwlogs存储各个网站站点日志 wwwroot存储各个站点前端
mkdir server/cert server/nginx # server文件存储一些配置与证书 cert存储证书 nginx存储网站配置
例子
假如当前创建一个网站 test1.test.com域名 或者ip
cd /usr/local/web/server/nginx
vim test1.test.com.conf # 后缀.conf 此目录已被包含到nginx里面 添加配置如下
mkdir /usr/local/web/wwwroot/test1.test.com # 创建域名目录或IP目录 里面存储打包后的前端
test1.test.com.conf 配置
server
{
listen 80;
listen 443 ssl;
http2 on;
server_name test1.test.com;
index index.php index.html index.htm default.php default.htm default.html;
root /usr/local/web/wwwroot/test1.test.com; # 指定前端目录
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /usr/local/web/server/cert/test1.test.com/fullchain.pem;
ssl_certificate_key /usr/local/web/server/cert/test1.test.com/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log /dev/null;
}
location /api/ {
proxy_pass http://192.168.1.66:8081/; # 指定后端地址 访问后端接口添加/api路径
proxy_set_header Host $host;
proxy_set_header x-forwarded-for $remote_addr;
}
access_log /usr/local/web/wwwlogs/test1.test.com.log; # 指定站点日志
error_log /usr/local/web/wwwlogs/test1.test.com_error.log; # 指定站点错误日志
}
nginx添加新模块
安装后的nginx添加新模块时进入到
cd /usr/local/nginx/nginx-1.20.2/ # 进入到此目录
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_flv_module --error-log-path=/usr/local/nginx/log/nginx.log --pid-path=/usr/local/nginx/pid # 添加--with-http_flv_module模块
make # 重新编译,不要make install
cd objs/
mv nginx /usr/local/bigData/nginx/sbin/ # 将启动文件替换了即可
本专栏为大数据学习专栏,如有问题还望指出,共同学习!