社交網站部署——Nginx服務器+PHP服務器搭建+MySQL主從集群
阿新 • • 發佈:2018-07-29
安裝環境 nginx服務器 環境 tar.gz fast vim tex use nginx 案例概述
某公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺之上,前端為Nginx服務器,通過fastcgi協議訪問後端的PHP服務器。為了保證數據安全,要求搭建MySQL數據庫主從集群。
社交網站項目包含用戶的相冊功能,允許用戶上傳照片,上傳照片需要使用共享存儲來存放。針對共享存儲可用的開源方案有很多,如MFS、FastDFS 等。公司決定使用MFS分布式文件系統來實現,並將MFS掛載在PHP服務器的相關目錄下。
案例實施
根據公司的需求,實施過程大致分為以下步驟。
- 部署SVN服務器,為PHP程序員創建repo目錄的訪問賬戶,通知程序員可以導入代碼。
- 部署MySQL主從服務器,根據PHP程序員的要求創建數據庫與表。
- 部署Nginx服務器。部署PHP服務器。
- 部署MFS,將MFS文件系統掛載在前端PHP服務器的相關目錄下。
- 通知上線部署人員可以發布上線。
部署Nginx服務器
1、Nginx服務器安裝
yum -y install pcre-devel zlib-devel gcc gcc-c++ make //安裝環境包依賴包 useradd -M -s /sbin/nologin nginx //創建管理用戶 tar xzvf nginx-1.6.0.tar.gz -C /opt cd /opt/nginx-1.6.0/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module make && make install
2、修改Nginx配置
需要配置後端PHP程序的fastcgi訪問接口
vim /usr/local/nginx/conf/nginx.conf //配置後端PHP程序的fastcgi訪問接口 location / { root html/webphp; index index.html index.htm; } location ~ \.php$ { root /var/www/html/webphp; fastcgi_pass 192.168.43.117:9000; //PHP服務器 IP地址:端口 fastcgi_index index.php; include fastcgi.conf; } ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //方便管理,建立軟鏈接
3、開啟Nginx
nginx //開啟Nginx
netstat -antp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6502/nginx: master
systemctl stop firewalld.service
setenforce 0 //關閉防火墻和安全功能
#nginx -t //檢查
#nginx //啟動
#killall -1 nginx //重啟
#killall -3 nginx //停止
部署PHP服務器
1、安裝PHP,並且通過配置php-fpm進程監聽9000端口來接受Nginx的請求
yum -y install gd libxml2-devel libjpeg-devel libpng-devel zlib-devel mysql-devel bzip2-devel gcc gcc-c++ make //安裝環境包,依賴包
useradd -M -s /sbin/nologin php //創建管理用戶
tar xzvf php-5.3.28.tar.gz -C /opt/
cd /opt/php-5.3.28/
cp /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so //PHP默認去/usr/lib搜索libmysqlclient.so
./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql --with-mysqli --with-mysql-sock --with-config-file-path=/usr/local/php --enable-mbstring --with-jpeg-dir=/usr/lib --enable-fpm
make && make install
2、修改php-fpm.conf文件來接受Nginx請求
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf //配置php-fpm 進程監聽9000端口來接受nginx請求
vim php-fpm.conf
......
pid = run/php-fpm.pid
user = php
group = php
listen = 0.0.0.0:9000
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
3、開啟服務並測試
/usr/local/php/sbin/php-fpm //開啟php-fpm進程
netstat -ntap | grep 9000
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 104389/php-fpm: mas
systemctl stop firewalld.service
setenforce 0 //關閉防火墻和安全功能
4、創建測試頁面,瀏覽器訪問測試
mkdir -p /var/www/html/webphp
vim /var/www/html/webphp/index.php
<?php
phpinfo();
?>
瀏覽器輸入:http://192.168.43.222/index.php 驗證
MySQL主從集群
參考博文:http://blog.51cto.com/13620936/2150981
社交網站部署——Nginx服務器+PHP服務器搭建+MySQL主從集群