我的系统环境
- 操作系统: Alibaba Cloud Linux 3.2104 LTS 64位
- CPU&内存: 2核(vCPU) 2 GiB
# 内核版本
Linux version 5.10.134-18.al8.x86_64 (mockbuild@h87c01383.na61) (gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3.8 2.32), GNU ld version 2.35-12.3.al8) #1 SMP Fri Dec 13 16:56:53 CST 2024
安装Nginx
# 先更新包
yum update -y
# 安装nginx
yum install -y nginx
#启动nginx
systemctl start nginx
#添加启动项
systemctl enable nginx
多域名配置
- nginx.conf文件支持include,所以作者建议将不同域名的配置分开在不同文件,清晰明了。但是需要注意include语句的位置,要在主文件的server之外,与server并级。
- 如果是使用与原server并级的include的方式,直接在被引入的配置文件添加新server即可。
- 如果是不适用多配置文件,就在生效的配置文件内,与原server同级添加新server即可。
server {
listen 80;
listen [::]:80;
server_name 指定域名;
root 项目根目录;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
配置静态资源访问路径
- 自行创建一个静态资源文件夹
- 注意添加配置的server位置,不要搞错域名。
server {
# ...
location ~ ^/imgs/(.+)\.(jpg|jpeg|gif|png)$ {
access_log off;
# 指定路径有多种方式,root和alias,root会改变原路径地址,将映射地址+访问地址作为最终地址,alias是直接用映射地址替换访问地址
# 因为alias是替换的方式,所以正则后不止要指定目录,也要将实际文件名拿过来进行拼接获取最终的访问地址,下面两个参数是正则的两个捕获值
alias /usr/share/imgs/bs/$1.$2;
expires 15d;
}
# ...
}
开启https访问(配置SSL证书)
申请证书
- 证书的申请还请自己处理,有多个平台多种方式,作者的服务器是阿里云,所以ssl证书使用了阿里云的
数字证书里的个人测试证书(免费版),虽然限制颇多,但是本身并没有商业要求,所以自己折腾折腾也无所谓。如果有兴趣的请自行前往阿里云控制台体验。 - 阿里云的测试证书限制: 一个年度只能申请一次免费测试证书,但是内含20个证书额度(旧证书
吊销不会返还额度),一个证书额度只能绑定一个域名,一个证书的有效期是三个月(测试证书pro版有效期为12个月,但是收费),但是每个证书不是申请额度后立即开始计算日期的,而是根据实际证书创建日期开始计算,而且创建证书时绑定域名没有限制,也就是说就算这20个免费测试证书全都绑定同一个域名也没关系。所以一个域名使用4张证书按季度交替使用即可。所以如果域名在5个以内,完全够用,除了稍微麻烦点。
上传证书文件
- 将获得的证书文件解压,获得
域名.pem、域名.key两个文件,名字无所谓,但每个证书已经绑定域名,不要搞混不同域名的证书。自行上传至服务器内指定文件夹下。
调整nginx.conf配置
server {
listen 80;
listen [::]:80;
server_name 指定域名;
root 项目根目录;
# 将http请求重置为https请求
rewrite ^(.*)$ https://$host$1 permanent;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
# Settings for a TLS enabled server.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 指定域名;
root 项目根目录;
#
ssl_certificate "证书.pem文件路径";
ssl_certificate_key "证书.key文件路径";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
注意事项
- 因为调整了配置文件,所以需要重启nginx才能生效,重启后稍微需要一些时间才能看到效果。
安装MySQL
前提是本机没有安装MySQL,如果有安装低版本的需要先卸载,请自行解决。
# 安装MySQL服务
yum install mysql-server
# 在配置中添加跳过密码登录 skip-grant-tables
vim /etc/my.cnf
# 添加启动项
systemctl enable mysqld
# 重启MySQL
service mysqld restart
# 登录MySQL 密码部分直接回车跳过
mysql -uroot -p
# 切换数据库
use mysql;
# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
# 创建一个新用户,使其可以远程登陆,并对所有库的所有表的所有操作具有权限
CREATE USER 'test'@'%' IDENTIFIED BY 'password';
grant all privileges on *.* to 'test'@'%' with grant option;
# 刷新权限,使其生效
flush privileges;
# 删除用户
drop user 'test'@'%';
# 退出本次mysql连接
quit;
以上命令可以安装mysql服务,可以调整MySQL中root用户的密码,并创建一个可远程登录的具有所有权限的用户
安装redis
# 安装redis
yum install redis
# 卸载redis
# yum remove redis
# 取消绑定本机地址
vim /etc/redis.conf
# 找到下面这句,注释掉
# bind 127.0.0.1 -::1
# 找到以下行,调整后面的密码,并取消注释,支持密码校验
requirepass your_password
# 重启redis
systemctl restart redis
# 添加启动项
systemctl enable redis
303

被折叠的 条评论
为什么被折叠?



