分佈式構建lnmp,小白都能學會

前言:

之前的博文寫過分佈式安裝LAMP搭建Discuz https://blog.csdn.net/weixin_43815140/article/details/105031305
rpm搭建nginx,mysql,php於一身的lnmp
https://blog.csdn.net/weixin_43815140/article/details/105163108
今天搞個分開部署的lnmp

所需環境:
再做之前,先開放端口或者關閉防火牆和selinux,以免無法訪問。

名稱 IP
nginx-1.16.1(centos7.2) 192.168.10.2
mysql-5.6(centos7.2) 192.168.10.4
php7.2(centos7.2) 192.168.10.6
測試機 192.168.10.3

在192.168.10.2安裝nginx

1>// 編輯官方yum源

[root@nginx~]# cat /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root@nginx ~]# 

2>//yum安裝nginx

[root@nginx~]# yum -y install nginx
[root@nginx~]# systemctl start nginx
[root@nginx~]# systemctl enable nginx 

3>//測試nginx是否可以訪問

[root@localhost ~]# curl http://192.168.10.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

ok,nginx已經安裝好,現在安裝mysql

在192.168.10.4安裝mysql

1>//使用本地rpm包安裝mysql,拷貝到/my目錄

[root@mysql ~]# cd /my
[root@mysql my]# ls
mysql-community-client-5.6.47-2.el7.x86_64.rpm
mysql-community-common-5.6.47-2.el7.x86_64.rpm
mysql-community-libs-5.6.47-2.el7.x86_64.rpm
mysql-community-server-5.6.47-2.el7.x86_64.rpm
perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm
perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm
perl-Data-Dumper-2.145-3.el7.x86_64.rpm
perl-DBI-1.627-4.el7.x86_64.rpm
perl-IO-Compress-2.061-2.el7.noarch.rpm
perl-Net-Daemon-0.48-5.el7.noarch.rpm
perl-PlRPC-0.2020-14.el7.noarch.rpm
[root@mysql my]# 

2>//安裝mysql

[root@mysql my]# yum -y localinstall /my/*
[root@mysql my]# systemcal start mysqld

3>//監聽端口,確認是否開啓

[root@lnmp ~]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      3634/mysqld         
[root@localhost ~]# 

4>//給MySQL設置密碼

[root@lnmp ~]# mysql_secure_installation #根據提示修改密碼爲123.com
[root@lnmp ~]# mysql -uroot -p'123.com'  #登錄mysql

在192.168.10.6安裝PHP

1>//準備第三方epel擴展源

[root@phpserver ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@phpserver ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2>//安裝PHP7.2

[root@lnmp ~]# yum -y install php72w php72w-cli php72w-common php72w-devel  php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache

3>//安裝完成後,先不着急開啓,修改/etc/php-fpm.d/www.conf文件

[root@phpserver ~]# cat /etc/php-fpm.d/www.conf | grep -v '^;' | grep -v '^$'
[www]
user = php
group = php
listen = 192.168.10.6:9000
listen.allowed_clients = 192.168.10.2
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

注意:listen = 192.168.10.6:9000 指向本機監聽php-fpm;
listen.allowed_clients = 192.168.10.2 指向nginx主機

4>//開啓php-fpm,監聽端口

[root@phpserver ~]# systemctl start php-fpm
[root@phpserver ~]# netstat -anpt | grep php-fpm
tcp        0      0 192.168.10.6:9000       0.0.0.0:*               LISTEN      38364/php-fpm: mast 

配置nginx配置文件,使其能與php協同工作,nginx
處理一些靜態頁面請求,php處理動態請求

編輯nginx配置文件

修改/etc/nginx/conf.d/blog.conf虛擬主機文件(conf.d下存放的是虛擬主機文件,以這個爲例。)

[root@nginx ~]# vim /etc/nginx/conf.d/blog.conf
server {
        listen 80;
        server_name blog.benet.com; #網站域名
        root    /www; #網站根目錄
        index index.php index.html; #索引頁

        location ~ \.php$ {
                root    /www;
                fastcgi_pass 192.168.10.6:9000; #寫php-fpm的地址,轉發給它工作
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
              }
        }
~          

注意:$document_root和root 屬性一樣,也可以用/wordpress代替。

客戶端修改/etc/hosts文件,使其能域名解析到192.168.10.2

php創建info.php測試頁,客戶端訪問測試

[root@phpserver ~]# cat /wordpress/info.php 
<?php
phpinfo();
?>
[root@localhost ~]# 

在這裏插入圖片描述
和之前一樣,搭建個WordPress小博客網站,需要把源碼包拷貝到nginx和php裏,解壓授權

創建數據庫並給用戶授權

mysql> create database blog;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on blog.* to lisi@'192.168.10.%' identified by '123.com';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

創建網站根目錄/www,源碼包解壓後移動到這裏(下面步驟nginx,php都要做),因爲/www目錄爲網站根目錄,不知道里面會有什麼文件,靜態就交給nginx處理,動態交給php。

mkdir /www
unzip wordpress-4.9.4-zh_CN.zip
mv /wordpress/* /www
chmod -R 777 /www

客戶端測試,訪問blog.benet.com
在這裏插入圖片描述
根據提示安裝就好

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章