设为首页 收藏本站
查看: 1071|回复: 0

LNMP环境的搭建

[复制链接]

尚未签到

发表于 2015-8-21 11:33:10 | 显示全部楼层 |阅读模式
引言


因为要在内网搭建模拟测试环境,所以这里记录一下吧,以后也方便.所谓的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
修改密钥长度




ServerKeyBits 2048

  



修改语言环境变量

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文件


修改/etc/hosts文件,保持通信双方的相同测试环境,具体见链接http://blog.iyunv.com/zinss26914/article/details/8442853
部署nginx&&fpm按天分割脚本


http://blog.iyunv.com/zinss26914/article/details/8256144,之前写的一篇博客,crontab定时运行即可




部署nginx定期迁移脚本


http://blog.iyunv.com/zinss26914/article/details/8425838,crontab定期运行即可,程序里判断每两周执行一次




搭建mysql
  



安装mysql


sudo apt-get install  mysql-server
配置mysql默认编码


http://blog.iyunv.com/zinss26914/article/details/8035902

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全文搜索引擎


    参考官方文档搭建即可,http://www.coreseek.cn/products-install/install_on_macosx/

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-102144-1-1.html 上篇帖子: LNMP安装日志 下篇帖子: CentOS6.3安装lnmp
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表