博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LNMP环境部署
阅读量:6989 次
发布时间:2019-06-27

本文共 3290 字,大约阅读时间需要 10 分钟。

1 安装nginx

1.1 安装nginx相关包

1
2
yum 
install 
-y http:
//nginx
.org
/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0
.el7.ngx.noarch.rpm
yum 
install 
-y nginx

1.2 创建项目目录

1
mkdir 
-p 
/var/www/www
.cmdschool.org

1.3 配置http和https服务

http config:

1
2
cp 
/etc/nginx/conf
.d
/default
.conf 
/etc/nginx/conf
.d
/www
.cmdschool.org_80.conf
vim 
/etc/nginx/conf
.d
/www
.cmdschool.org_80.conf

保留以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server {
    
listen       80;
    
server_name  www.cmdschool.org;
 
    
location / {
        
root   
/var/www/www
.cmdschool.org;
        
index  index.html index.htm  index.php;
    
}
 
    
error_page   500 502 503 504  
/50x
.html;
    
location = 
/50x
.html {
        
root   
/usr/share/nginx/html
;
    
}
}

https config:

1
2
cp 
/etc/nginx/conf
.d
/default
.conf 
/etc/nginx/conf
.d
/www
.cmdschool.org_443.conf
vim 
/etc/nginx/conf
.d
/www
.cmdschool.org_443.conf

确认存在如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
    
listen       443;
    
server_name  www.cmdschool.org;
    
ssl on;
    
ssl_certificate 1_www.cmdschool.org_bundle.crt;
    
ssl_certificate_key 2_www.cmdschool.org.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   
/var/www/www
.cmdschool.org;
        
index  index.html index.htm  index.php;
    
}
 
    
error_page   500 502 503 504  
/50x
.html;
    
location = 
/50x
.html {
        
root   
/usr/share/nginx/html
;
    
}
}

添加静态测试页面:

1
2
mkdir 
-p 
/var/www/www
.cmdschool.org
echo 
www.cmdschool.org > 
/var/www/www
.cmdschool.org
/index
.html

1.4 配置nginx服务

1
2
systemctl 
enable 
nginx
systemctl restart nginx

1.5 配置防火墙

1
2
3
4
firewall-cmd --permanent --add-service http
firewall-cmd --permanent --add-service https
firewall-cmd --reload
firewall-cmd --list-all

1.6 关闭selinux

1
2
sed 
-i 
's/SELINUX=enforcing/SELINUX=disabled/g' 
/etc/selinux/config
setenforce 0

2 集成PHP fastCGI

2.1 安装基础软件包

1
yum 
install 
-y php-fpm php

2.2 启动并配置服务自启动

1
2
systemctl 
enable 
php-fpm.service
systemctl start php-fpm.service

2.3 配置集成php fastCGI

1
vim 
/etc/nginx/conf
.d
/www
.cmdschool.org_80.conf

1
vim 
/etc/nginx/conf
.d
/www
.cmdschool.org_443.conf

增加如下代码

1
2
3
4
5
6
7
8
9
10
server {
    
[...]
    
location ~ \.php$ {
        
root           
/var/www/www
.cmdschool.org;
        
fastcgi_pass   127.0.0.1:9000;
        
fastcgi_index  index.php;
        
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        
include        
/etc/nginx/fastcgi_params
;
    
}
}

重启nginx服务

1
systemctl restart nginx

2.4 测试php fastCGI

添加调试代码

1
echo 
'<?php phpinfo(); ?>' 
/var/www/www
.cmdschool.org
/index
.php

访问以下链接测试fastCGI

1
2
http:
//www
.cmdschool.org
/index
.php
https:
//www
.cmdschool.org
/index
.php

2.5 如下日志可以协助你排错

1
2
tail 
-f 
/var/log/nginx/error
.log
tail 
-f 
/var/log/php-fpm/error
.log

2.6 安装辅助工具包

1
yum 
install 
-y unzip

3 配置MariaDB数据库

3.1 安装MariaDB相关包

1
yum 
install 
-y mariadb-server mariadb-devel mariadb

3.2 启动MariaDB服务并配置自启动

1
2
systemctl start mariadb.service
systemctl 
enable 
mariadb.service

3.3 初始化MariaDB

1
mysql_secure_installation

向导如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
[...]
Set root password? [Y
/n
] y
New password:
Re-enter new password:
[...]
Remove anonymous 
users
? [Y
/n
] y
[...]
Disallow root login remotely? [Y
/n
] y
[...]
Remove 
test 
database and access to it? [Y
/n
] y
[...]
Reload privilege tables now? [Y
/n
] y
[...]
本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1962061,如需转载请自行联系原作者
你可能感兴趣的文章