建站服务器
社交网站搭建详解
社交网站搭建是为了管理php程序员开发的代码,要求待见svn服务器进行版本控制。社交网站第一个版本部署在lnmp平台之上,前端为nginx服务器,通过fastcgi协议访问后端php服务器,为了保证数据安全,mysql数据库搭建主从复制。
社交网站项目包含用户相册功能,允许用户上传照片,上传照片需要使用共享存储来存放。共享存储可用的开源方案有很多,如nfs,mfs,fastdfs等。本文简化存储方案,使用nfs代替mfs的功能,现网根据公司要求进行相关搭建。
本案例拓扑:
案例环境:
主机操作系统ip地址主要软件nginxcentos 7192.168.88.128nginx-1.14.0.tar.gzphpcentos 7192.168.88.129
php-5.6.38.tar.gz
mysql mastercentos 7192.168.88.130mysql-5.6.41.tar.gzmysql slavecentos 7192.168.88.131mysql-5.6.41.tar.gzsvncentos 7192.168.88.132yum安装nfsredhat 6192.168.88.133yum安装
本文所有软件使用wget和yum安装。
一、搭建nginx
1、安装环境包
yum install gcc gcc-c pcre pcre-devel zlib-devel -y
2、创建nginx用户
useradd -m -s /sbin/nologin nginx
3、下载nginx
cd /opt/ #下载到opt目录下
wget http://nginx.org/download/nginx-1.14.0.tar.gz #下载nginx
4、解压编译安装
tar zxf nginx-1.14.0.tar.gz #解压
cd nginx-1.14.0/
./configure \\\\
–prefix=/usr/local/nginx \\\\ #指定安装路径
–user=nginx \\\\ #指定用户
–group=nginx \\\\ #指定组
–with-http_stub_status_module #开启统计模块
make && make install #安装
5、优化
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ #软链接优化
vim /etc/init.d/nginx #添加启动脚本
#!/bin/bash
#chkconfig: – 99 20
#this is nginx init
prog="/usr/local/nginx/sbin/nginx"
pidf="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$prog
;;
stop)
kill -s quit $(cat $pidf)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s hup $(cat $pidf)
;;
*)
echo "please use: {start|stop|restart|reload}"
exit 1
esac
exit 0
#kill -s quit $(cat $pidf)表示根据pid终止nginx进程
#kill -s hup $(cat $pidf)表示根据进程号重载配置
6、修改配置文件中的fastcgi访问接口,才能访问php页面。
vim /usr/local/nginx/conf/nginx.conf #修改配置文件
location ~ \\\\.php$ {
root /var/www/html/webphp;
fastcgi_pass 192.168.88.131:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
二、搭建mysql主从服务器
1、安装环境包
yum install gcc gcc-c make cmake ncurses-devel bison libaio-devel autoconf -y
2、下载mysql5.6
cd /opt/ #下载到opt目录下
wget https://cdn.mysql.com//downloads/mysql-5.6/mysql-5.6.41.tar.gz #wget命令下载
3、创建mysql用户
useradd -s /sbin/nologin mysql
4、编译安装
cd mysql-5.6.41/
cmake \\\\
-dcmake_install_prefix=/usr/local/mysql \\\\
-ddefault_charset=utf8 \\\\
-ddefault_collation=utf8_general_ci \\\\
-dwith_extra_charsets=all \\\\
-dsysconfdir=/etc \\\\
-dmysql_datadir=/home/mysql/ \\\\
-dmysql_unix_addr=/home/mysql/mysql.sock \\\\
-dwith_myisam_storage_engine=1 \\\\
-dwith_innobase_storage_engine=1 \\\\
-dwith_archive_storage_engine=1 \\\\
-dwith_blackhole_storage_engine=1 \\\\
-denabled_local_infile=1 \\\\
-dwith_ssl=system \\\\
-dmysql_tcp_port=3306 \\\\
-denable_downloads=1 \\\\
-dwith_ssl=bundled
make && make install #安装
5、优化
cp support-files/my-default.cnf /etc/my.cnf # 复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld # 复制启动脚本
vim /etc/init.d/mysqld #修改启动脚本
basedir=/usr/local/mysql
datadir=/home/mysql
chmod x /etc/init.d/mysqld #添加执行权限
chkconfig –add mysqld #添加至启动项
chkconfig –level 35 mysqld on #35 模式启动
echo "path=$path:/usr/local/mysql/bin/" >> /etc/profile #添加环境变量
source /etc/profile #刷新环境变量
chown -r mysql.mysql /usr/local/mysql #改mysql安装目录的属主属组
6、初始化数据库
/usr/local/mysql/scripts/mysql_install_db \\\\
–user=mysql \\\\
–ldata=/var/lib/mysql \\\\
–basedir=/usr/local/mysql \\\\
–datadir=/home/mysql
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock #建立sock文件软链接
7、启动两台mysql服务器
service mysql start
8、修改主从服务器配置文件
主服务器)
vim /etc/my.cnf
[mysqld] #mysqld模块下添加
server-id = 11
log-bin=/usr/loca
日本租用vps多少钱新睿云高防云服务器是干什么的阿里云服务器4核8g年付多少钱云服务器能搭建游戏平台吗?云服务器搭建游戏平台汇总怎样运用幻灯片布局清晰传递信息韩国云主机租用韩国云服务器阿里云和腾讯云服务器价格一样吗知乎个人购买云服务器能干嘛