yum install gcc-c++ yum install pcre pcre-devel yum install zlib zlib-devel yum install openssl openssl-devel
进入nginx官网查找下载链接
http://nginx.org/en/download.html
下载安装
下载
获取下载链接后进入服务器,下载文件
wget http://nginx.org/download/nginx-1.15.5.tar.gz
解压
使用命令解压文件
tar -zxvf nginx-1.15.5.tar.gz
编译&安装
进入解压后的文件夹
cd nginx-1.15.5/
运行配置
这里可以选择自定义路径等,我将指定安装目录为 /usr/lib/nginx
如果我们需要在以后配置 nginx https证书,需要在编译时安装 ssl
./configure --prefix=/usr/lib/nginx --with-http_ssl_module
编译
make
安装
make install
如上述过程中出现make[1],可不必理会,如可正常启动Nginx代表无问题
运行
我们进入nginx目录下的sbin文件夹
启动nginx
./nginx
然后我们浏览器打开服务器地址,出现nginx欢迎页代表成功
配置开机自启等
由于我们是编译安装,因此需要手动配置 nginx,我们重启nginx时会报如下错误
centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
如果你是用编译方式安装则需要手动设置nginx
先进入路径
cd /lib/systemd/system/
建立文件
touch nginx.service
编辑文件
vim nginx.service
写入配置
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/lib/nginx/sbin/nginx ExecReload=/usr/lib/nginx/sbin/nginx -s reload ExecStop=/usr/lib/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
说明
[Unit]:服务的说明 Description:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
退出并保存
设置开机启动
systemctl enable nginx.service
启动nginx服务
systemctl start nginx.service
设置同时启动多个配置文件
先进入nginx文件夹
cd /usr/lib/nginx
新建存放配置的文件夹
mkdir config
进入配置文件
cd conf
vim nginx.conf
* 关于配置文件的详细解释可以百度
因为我们使用多个文件配置代理,所以先将 server 中的配置删除(有风险,推荐自己按需修改)
我们在 http 中结尾指定配置文件的路径
include /usr/lib/nginx/config/*.conf;
这里指定为config文件夹内所有conf文件
保存退出即可
如果启动nginx时失败 用
/usr/lib/nginx/sbin/nginx
Nginx配置https证书
目前的大趋势是升级HTTP为HTTPS
本章介绍怎样实装HTTPS证书
# 如果报 ssl 错误是Nginx安装时未安装ssl 请重新编译nginx 可以参考我之前的博客
申请/获取https
这里就不详细述说了,本人使用腾讯云申请的
有免费证书(有效期1年,1年后需要重新申请)
当我们通过申请后会提供一个压缩文件下载,解压后如下
上传/引入
我们使用Nginx因此我们进入Nginx文件夹
我们将这两个文件上传至服务器的某个路径中(记住这个路径)
然后我们在存放 Nginx 配置的文件夹中新建一个配置(如何指定多个配置及 Nginx 安装请查看我之前的博客)
内容如下
server { listen 443 ssl; # 1.1版本后这样写 server_name www.domain.com; #填写绑定证书的域名 ssl_certificate 1_www.domain.com_bundle.crt; # 指定证书的位置,绝对路径 ssl_certificate_key 2_www.domain.com.key; # 绝对路径,同上 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on; location / { root html; #站点目录,绝对路径 index index.html index.htm; } }
然后我们重启Nginx
进入 nginx 目录的 sbin
./nginx -s reload