引言
因为要在内网搭建模拟测试环境,所以这里记录一下吧,以后也方便.所谓的LNMP即ubuntu + nginx + mysql + php的标配,其中nginx + fpm取代了apche + mod_php
ssh服务器设置
修改端口号,防止被轻易攻击
Port ****
禁止root用户登陆
PermitRootLogin no
只允许公私钥认证的方式登陆,防止口令暴力破解
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
修改密钥长度
修改语言环境变量
1.修改local配置文件
sudo vim /etc/default/locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:en_US:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=
2.导入修改后配置
source /etc/default/locale
安装php&&php扩展
预安装软件
apt-get install make gcc g++ automake libtool libmysqlclient18 libxml2-dev libexpat1-dev mysql-client
1.安装php和fpm
sudo apt-get install php5 php5-fpm
2.安装memcache扩展
sudo apt-get install php5-memcache php5-memcached
3.安装mysql扩展
sudo apt-get install php5-mysql
4.安装http扩展
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libmagic-dev
sudo pecl install pecl_http
具体使用见之前文章
5.安装oauth扩展
sudo apt-get install libpcre3-dev
sudo pecl install oauth (需要perl-compatible regular expression library)
6.安装gd扩展
sudo apt-get install php5-gd
7.安装redis扩展
安装phpredis扩展,
点击打开链接
rsync+shell部署文件和目录
来一个部署的脚本吧,大家可以参考一下里面的思想,主要是灾备
#!/bin/bash -
#1.参数配置
sour_dir="/home/wangzhengyi"
file_name="test1"
datetime=`date -d '+0 days' +%Y-%m-%d-%H-%I`
dest_dir="/srv/www/test2"
back_dir="/tmp"
if [ ! -d $dest_dir ];then
mkdir -p $dest_dir
chown -R www-data.www-data $dest_dir
fi
#2.备份源目录
if [ -d $dest_dir/$file_name ]
then
cp -r $dest_dir/$file_name $back_dir/$file_name$datetime
fi
#3.更新目录
rsync -rvz --delete $sour_dir/$file_name/ $dest_dir/$file_name/
if [ $? = 0 ]
then
chown -R www-data.www-data $dest_dir/$file_name
fi
搭建nginx虚拟主机
共享一下我的nginx.conf配置
user www-data;
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
worker_rlimit_nofile 204800;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 768;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 2k;
large_client_header_buffers 4 4k;
client_max_body_size 8m;
log_format main '$server_name$remote_addr$remote_user[$time_local]"$request"'
'$status$body_bytes_sent"$http_referer"'
'"$http_user_agent""$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
open_file_cache max=204800 inactive=20s;
open_file_cache_min_uses 1;
open_file_cache_valid 30s;
tcp_nodelay on;
gzip on;
include /etc/nginx/conf.d/*.conf;
}
根据需要搭建虚拟主机
这里由于隐私大家网上搜一下就行,而且我之前有文章写过搭建nginx+fpm虚拟主机的方法
修改/etc/hosts文件
部署nginx&&fpm按天分割脚本
部署nginx定期迁移脚本
搭建mysql
安装mysql
sudo apt-get install mysql-server
配置mysql默认编码
mysql远程连接
- 修改bind-address = server_ip
- 授权远程访问 grant all privileges on *.* to 'user'@'remote_ip' identified by 'password';
- 刷新权限使生效 flush privileges
共享mysql导出指定数据库上传到指定服务器的脚本
#!/bin/bash -
#1.数据库备份参数配置
mysqlhost="your_mysql_ip"
mysqluser="****"
mysqlpasswd="****"
mysqldb="db_name"
tablenames=("table_name1")
dbtime=`date -d '+0 days' +%Y%m%d`
export_directory="/home/user/sql/$dbtime"
remote_dir="/home/user/sql/back/"
ip_array=("192.168.1.***")
#定义数据备份目录
if [ ! -d $export_directory ]
then
mkdir -p $export_directory
fi
cd $export_directory
#2.mysqldump备份数据库数据
for tablename in ${tablenames[*]}
do
#定义数据备份文件名
dbfile="$tablename-$dbtime.sql"
#导出mysql数据
mysqldump -h$mysqlhost -u$mysqluser -p$mysqlpasswd $mysqldb $tablename >$dbfile
#采用tar压缩备份存储的sql文件
tar -zcPpf $tablename-$dbtime.tar.gz $dbfile
#删除大容量文件
if [ $? = 0 ]
then
rm $dbfile
fi
#同步数据库备份到指定服务器
for ip in ${ip_array[*]}
do
port="your_port"
scp -P $port $tablename-$dbtime.tar.gz username@$ip:$remote_dir
done
done
搭建redis
- ubuntu的ppa源同步redis版本与线上服务器保持一直,否则不能兼容rdb文件
- 增加redis数据库连接密码
- 修改bind的ip地址,允许远程访问
搭建coreseek全文搜索引擎
分享到:
相关推荐
兄弟连Linux新版视频教程 LAMP+LNMP环境搭建及配置教程笔记
lnmp环境搭建所需要的源码,ngnix 1.7.0 php 5.5.12 mysql 5.6.17
lnmp环境搭建报错处理 lnmp环境搭建报错处理 lnmp环境搭建报错处理
LNMP环境搭建总结,主要介绍了LNMP环境搭建的步骤
一步一步教你如何搭建lnmp环境,自动化脚本生成。
_Linux(基于CentOS的LNMP)_服务器部署标准_白丁简明版
LNMP环境搭建,完全可用
lnmp环境搭建(nginx+mysql)
基于lnmp环境搭建nextcloud资源包文件
lnmp环境搭建文档, CentOS6.4 final , nginx, php, mysql安装文档, 完成描述了如果去编译安装整套环境, 附所需源码包下载地址:http://download.csdn.net/detail/otypedef/6814845 源码包下载不需积分. 适合初学者看...
完整的centos6.5 lnmp环境搭建的脚本,同时包含mysql、nginx的配置文件,一键安装环境。
适用于centos系统lnmp环境搭建 包含Nginx,PHP,mysql5.5以及相关依赖的全套源码文件,可直接解压编译安装
img LNMP环境搭建(php-5.6.19 nginx-1.9.12 mysql-5.6.19)配置.docx
l n m p 环 境 源 码 包 搭 建
用shell脚本一键搭建LNMP环境
Centos7搭建lnmp环境,版本nginx1.12 mysql5.7 php7.0
此包包含centOs相关知识的4天整套课程,yum源生源 yum制定源以及原代码搭建lamp,lnmp环境的搭建和Nginx的安装