通过nginx简易实现lnmp

练习:实现lnmp,提供多个虚拟主机;

(1) http, 提供wordpress;

(2) https, 提供pma;

1,先安装程序包

yum install /share/nginx-1.10.2-1.el7.ngx.x86_64.rpm mariadb-server php-fpm php-mysql php-mbstring php-mcrypt -y

2,因为有https主机,因此先配置证书,为了省事,CA也配置在本机然后并签名

a,CA的配置

cd /etc/pki/CA/        #先进入该目录
(umask 077 ; openssl genrsa -out private/cakey.pem 4096)        #先创建CA的私钥
openssl req -new -x509 -key private/cakey.pem -out cacert.pem    #创建CA的公钥
touch index.txt
echo 01 > serial

blob.png

b,nginx的ssl配置

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl/
(umask 077 ; openssl genrsa -out nginx.key 2048)    #创建nginx的私钥
openssl req -new -key nginx.key -out nginx.csr      #通过私钥生成公钥
openssl ca -in nginx.csr -out nginx.crt             #通过CA生成crt

blob.png

blob.png

3,php-fpm 的session

mkdir /var/lib/php/session
setfacl -m u:apache:rwx /var/lib/php/session/

blob.png

blob.png

4,开始搭建网站

a,先创建网站所需要的目录

mkdir /web/apps/{pma,wp} -pv

blob.png

b,复制网页源码

cd /root/
cp /share/lamp/phpMyAdmin-4.0.5-all-languages.zip .
cp /share/wordpress-4.4.2-zh_CN.zip .

blob.png

unzip phpMyAdmin-4.0.5-all-languages.zip 
unzip wordpress-4.4.2-zh_CN.zip             #解压
mv wordpress/* /web/apps/wp/                #移动到的相应的目录
mv phpMyAdmin-4.0.5-all-languages/* /web/apps/pma/
setfacl -R -m u:apache:rwx /web/apps/

blob.png

5,配置nginx

自定义一个配置文件

vim /etc/nginx/conf.d/wpma.conf

 

server {
        listen 443 ssl;
        server_name pma.nineven.com;
        root /web/apps/pma;
        index index.php index.html index.htm;
        ssl on;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;
        ssl_session_cache shared:sslcache:20m;                    # ssl_session 的设定时间
        valid_referers none block server_name pma.nineven.com ;   #如果不是从该域名跳过来就提示403
        if ($invalid_referer) {
        return 403;
}
        location ~* \.php$ {                   #通过fcgi模式
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index   index.php;
                fastcgi_param SCRIPT_FILENAME /web/apps/pma$fastcgi_script_name;
                include fastcgi_params;
        }
}
server {                    #通过该域名访问80端口,会自动跳转到443端口
        listen 80;    
        server_name pma.nineven.com;
        rewrite ^/(.*)$ https://pma.nineven.com/$1 ;
}
server {
        listen 80;
        server_name wp.nineven.com;
        root /web/apps/wp;
        index index.php index.html index.htm;
        location ~* \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index   index.php;
                fastcgi_param SCRIPT_FILENAME /web/apps/wp$fastcgi_script_name;
                include fastcgi_params;
        }
}

6,设置数据库

启动数据库

systemctl start mariadb

对数据进行初始化

mysql_secure_installation

创建wp数据库

blob.png

7,启动服务

blob.png

8,安装网站

blob.png自己导入CA的公钥证书

blob.png

blob.pngblob.pngblob.pngblob.pngblob.pngblob.png

类似文章