1、安装CentOS7系统,取得root权限;
2、添加防火墙端口;
# sudo firewall-cmd --permanent --add-service=http # 打开 HTTP 端口 # sudo firewall-cmd --permanent --add-service=https # 打开 HTTPS 端口 # sudo firewall-cmd --complete-reload # 重新加载防火墙配置
3、安装MariaDB数据库并设置自动启动;
# sudo yum install mariadb mariadb-server #安装数据库 # sudo systemctl start mariadb #启动数据库 # sudo systemctl enable mariadb #设置自动启动 # with mysql_secure_installation #初始化数据库
4、安装Nginx;
# sudo yum install nginx -y #安装nginx # sudo systemctl enable nginx #设置nginx服务自动启动 # sudo systemctl start nginx #启动nginx服务
5、安装PHP运行环境,并设置自动启动PHP-FPM;
# yum install php-fpm php-mysql php-cli php #安装PHP-FPM、PHP、PHP-CLI # sudo systemctl enable php-fpm #设置PHP-FPM服务自动启动 # sudo systemctl start php-fpm #启动PHP-FPM服务
6、配置Nginx与PHP-FPM协同工作;
# sudo vi /etc/php.ini #编辑PHP配置文件 cgi.fix_pathinfo=0 #查找cgi.fix_pathinfo,并设置等于0 #vi中使用wq指令保存并退出编辑
# sudo vi /etc/php-fpm.d/www.conf #编辑www.conf配置文件 listen = /run/php-fpm/php-fpm.sock #使用Unix接口替换9000号端口 listen.owner = nginx #查找listen.owner,将值设置成nginx listen.group = nginx #查找listen.group,将值设置成nginx user = nginx #查找Unix用户关键字user,将值设置成nginx group = nginx #查找Unix用户组关键字group,将值设置成nginx #vi中使用wq指令保存并退出编辑
# sudo systemctl restart php-fpm #重启动PHP-FPM
# sudo vi /etc/nginx/conf.d/default.conf #创建nginx默认配置文件 #将一下代码粘贴在文件中,对文件中的参数进行必要修改,并保存退出。 server { listen 80; server_name your_server_ip; #此处用你的服务器IP地址或者域名替代your_server_ip root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
# sudo systemctl restart nginx #重启动nginx服务
7、验证PHP运行
# sudo vi /usr/share/nginx/html/test.php #创建一个测试网页 #在文件中输入如下代码并保存退出 <?php phpinfo(); ?>
http://server_IP_address/test.php #在浏览器中输入网址,使用服务器IP或者域名替换server_IP_address,如果打开服务器PHP统计信息页,则服务器搭建完成
8、生成证书
# sudo yum install certbot #安装certbot,准备生成证书 # 使用以下两种方法之一生成证书 # sudo
certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com #可以指定服务器路径和域名生成证书 # sudo
certbot certonly --standalone -d example.com -d www.example.com #也可以不指定路径,对服务器443端口生成证书 # 成功生成证书后会提示证书保存路径,请记录,后续待用
9、启动https服务
# sudo vi /etc/nginx/conf.d/default.conf #修改nginx默认配置文件 #将一下代码粘贴在文件中末尾的空行中,对文件中的参数进行必要修改,并保存退出。 server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name your_server_ip; #此处用你的服务器IP地址或者域名替代 root /usr/share/nginx/html; index index.php index.html index.htm; ssl_certificate "your_cert_path_and_filename"; #设置证书路径和文件名 ssl_certificate_key "your_private_key_path_and_filename"; #设置私钥证书路径和文件名 ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }