Linux 安装 Nginx
一、步骤
1、配置EPEL源
sudo yum install -y epel-release
sudo yum -y update
2、安装Nginx
sudo yum install -y nginx
安装成功后,默认网站目录为:/usr/share/nginx/html
默认的配置文件为:/etc/nginx/nginx.conf
自定义配置文件目录为: /etc/nginx/conf.d/
3、开启端口80和443
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
4、操作Nginx
4.1、启动Nginx
systemctl start nginx
4.2、停止Nginx
systemctl stop nginx
4.3、重启Nginx
systemctl restart nginx
4.4、查看Nginx状态
systemctl status nginx
4.5、启用开机启动Nginx
systemctl enable nginx
4.6、禁用开机启动Nginx
systemctl disable nginx
4.7、删除Nginx
yum remove nginx
五、配置Nginx
5.1、安装Https免费证书(以阿里云为例)
一键安装acme.sh
curl https://get.acme.sh | sh echo 'alias acme.sh=~/.acme.sh/acme.sh' >> ~/.bashrc source ~/.bashrc
生成Https证书
export Ali_Key="**********" export Ali_Secret="**********" acme.sh --issue --dns dns_ali -d domain
其中:
点击阿里云后台,右上角用户头像,菜单中选择accesskeys。
查看AccessKey ID 和 Access Key Secret,即对应上面的Ali_Key 和 Ali_Secret。
domain 对应该账户下购买的阿里云域名
拷贝证书到nginx
mkdir -p /etc/nginx/ssl acme.sh --install-cert -d domain \ --key-file /etc/nginx/ssl/domain.key \ --fullchain-file /etc/nginx/ssl/domain.cer \ --reloadcmd "service nginx force-reload"
https证书拷贝成功。
目前https证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.
5.2、配置nginx
删除/etc/nginx/nginx.conf
中的server部分代码。
server {
...
}
在/etc/nginx/conf.d
创建自定义配置文件default.conf
server { listen 80; listen 443 ssl; server_name domain www.domain; location / { root /usr/share/nginx/html; index index.html index.htm; } ssl on; ssl_certificate /etc/nginx/ssl/domain.crt; ssl_certificate_key /etc/nginx/ssl/domain.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE; ssl_prefer_server_ciphers on; error_page 497 https://$host$uri?$args; }
其中:root /usr/share/nginx/html;
表示网站文件目录,后面的分号不可省略。
ssl_certificate和ssl_certificate_key 指向https证书。
error_page 497 https://$host$uri?$args;这句的作用是,强制http跳转到https。
六、注意
下载后一定要运行下启动命令,并检查80和443端口是否开启。
运行地址为:你的公网ip/usr/share/nginx/html
运行后的截图:
不要紧张,这个是Nginx的默认页面,修改index.html页面后,就会更改。