LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。 LNMP代表的就是:Linux系统下Nginx
操作版本
1.Linux: CentOS 7.3(64bit) 2. Nginx 3. php7 4. mysql5.7 5. redis
部署步骤
//环境检测
//如果ping不通,则要修改hosts
//
//206.251.255.63 nginx.org//将以下内容加到最后
安装SVN和rsync
//SVN//
//创建SVN版本
// (1)svnserve.conf: svn服务综合配置文件。
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
(2)passwd: 用户名口令文件。
[users]
ljw = 123456
ck = 123456
(3)authz: 权限配置文件。
[groups]
our = ljw,ck
[/]
our = rw
* = rw
//SVN开机启动
//1、编辑rc.local文件
vi /etc/rc.d/rc.local
//2、加入如下启动命令
/usr/bin/svnserve -d -r /home/svn
//
//rsync//
//配置服务器端rsync
//
uid = nobody //root //这边可能会出现隐藏文件权限不足,所以使用root组
gid = nobody //root
use chroot = no
max connections = 2
pid file = /var/run/rsyncd.pd
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[test]
path = /html/LfErp/
hosts allow = 139.129.239.93
auth users = svn_usr
secrets file = /etc/rsyncd.secrets
read only = false
//
//
svn_usr:123456
//
//配置客户端rsync
//
123456
//
//同步更新并过滤svn文件
//svn post-commit//
SVN=/usr/bin/svn
LOCALHOST=/var/www/test/LfErp
WEB=/html/LfErp/
WEBIP="121.43.191.88"
RSYNC=/usr/bin/rsync
LOG=/tmp/rsync_cqzn_server.log
export LANG=en_US.UTF-8
if
$SVN update $LOCALHOST --username ljw --password 123456
then
echo "" >> $LOG
echo `date` >> $LOG
echo "##############################" >> $LOG
rsync -vaztpH --delete --password-file=/etc/rsyncd.secrets --exclude='.svn/' --timeout=900 $LOCALHOST/ svn_usr@121.43.191.88::test >>$LOG
fi
/
MySQL安装配置
//mysql//
//查看最新版本mysql --> http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
//
//修改初始密码
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXXXX';
mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'XXXX' WITH GRANT OPTION;
mysql>flush privileges;
//
mysql>GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
mysql>flush privileges;
//
//如果有防火墙另行打开3306端口
sql_mode //NO_ZERO_IN_DATE,NO_ZERO_DATE,ONLY_FULL_GROUP_BY
msqyl>set @@global.sql_mode ='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
mysql>select @@global.sql_mode;
mysql>set global event_scheduler=on;//开启计划事件
mysql> set global slow_query_log_file='/var/lib/mysql/new-slow.log'; //修改日志文件
mysql> set global slow_query_log=1; //开启慢日志
mysql> set global max_connections = 200; //最大连接数
mysql> set global expire_logs_days=30; //mysql.bin 保存30天 触发机制->binlog大小超过max_binlog_size;手动执行flush logs;重新启动时(MySQL将会new一个新文件用于记录binlog);
mysql> flush logs;
更新Linux环境,此步骤在其他步骤之前执行可减少不必要的错误
//Linux环境搭建
安装Nginx
安装php7
//
本机需配置查找 /mysqli.default_socket
mysqli.default_socket = /var/lib/mysql/mysql.sock
date.timezone = PRC //时区修改
//
//
PIDFile=/usr/local/php7/var/run/php-fpm.pid
ExecStart=/usr/local/php7/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php7/etc/php-fpm.conf
//
//设置PHP环境变量
//根据实际填写/usr/local/php7/bin
PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/bin
export PATH
//
配置Nginx站点
//写个PHPINFO做测试 这里省略一万字
//
server {
listen 80;
server_name localhost;
root /www/lnmp/web;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
//防火墙开放80端口 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
添加端口外部访问权限(这样外部才能访问) firewall-cmd --add-port=80/tcp
重新载入,添加端口后重新载入才能起作用
firewall-cmd --reload #systemctl reload nginx //重载nginx 环境搭建成功
|