[moka同学]lnmp环境搭建以及配置

前沿
此次lnmp环境搭建过程是为高校搭建的一个网站,由于学校对服务器的权限控制的比较严格,遇到了不少问问题。

安装内容
DNS配置,Xcache,git,ssh脚本,定时任务(crontab)网站自动拉取更新,lnmp,以及msql数据库的导入导出,备份(略)

DNS的配置
配置静态IP地址:
vi /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE="eth0"
BOOTPROTO="static"
DNS1="59.51.**"        //DNS号
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eth0"
UUID="9c350058-0a98-4415-9f8c-6d262"
DEVICE="eth0"
ONBOOT="yes"
HWADDR="28:6E:D4:88:C6:5B"
IPADDR="10.255.**"     //IP地址
PREFIX="24"
GATEWAY="10.2***"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"

/etc/init.d/network restart
ifconfig eth0

一、lamp的安装 (此处来源于网络,有删减)
安装LNMP执行:
wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lamp
如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。
如下载速度慢请更换其他下载节点,
详情请看下载页面。LNMP下载节点具体替换方法。
按上述命令执行后,会出现如下提示:

需要设置MySQL的root密码(不输入直接回车将会设置为root),输入后回车进入下一步,如下图所示:

你的密码

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用,输入 n 表示不启用。默认为y 启用,输入后回车进入下一步,选择MySQL版本:

5.5

输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本:

输入PHP版本的序号,回车进入下一步,选择是否安装内存优化:

5.4

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车。
如果是LNMPA或LAMP的话还需要设置管理员邮箱

再选择Apache版本

2.4

提示”Press any key to install…or Press Ctrl+c to cancel”后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并Install lnmp V1.2 completed! enjoy it.的话,说明已经安装成功。
接下来按添加虚拟主机教程,添加虚拟主机,通过sftp或ftp服务器上传网站,将域名解析到VPS或服务器的IP上,解析生效即可使用。
4、安装失败

如果出现安装失败,说明没有安装成功!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的系统发行版名称及版本号、32位还是64位等信息,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。
5、添加、删除虚拟主机及伪静态管理
http://lnmp.org/faq/lnmp-vhost-add-howto.html
6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装
http://lnmp.org/faq/addons.html
7、LNMP相关软件目录及文件位置
http://lnmp.org/faq/lnmp-software-list.html
8、LNMP状态管理命令
http://lnmp.org/faq/lnmp-status-manager.html

二、建立网站目录
例如:根目录下建立data ,同时在data下创建如下文件夹
data | www 网站目录
| tasks 设置任务目录,存放sh脚本
| backup 备份
| download 下载目录,存放下载文件

三.配置虚拟主机
在/usr/local/apache/conf/vhost/网站域名 中添加 touch 网站域名的文件

<VirtualHost *:80>
ServerAdmin webmaster@example.com
php_admin_value open_basedir "/data/www/网站域名:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/data/www/网站域名/www"
ServerName 网站域名
#ErrorLog "/home/wwwlogs/-error_log"
#CustomLog "/home/wwwlogs/-access_log" common
<Directory "/data/www/网站域名">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>
</VirtualHost>

四.检查git是否安装,如果有安装,需配置
Ⅰ.安装过程略
Ⅱ.配置(从服务器中获取公钥,添加到coding.net中,ssh)
①在root下创建.ssh

ssh-keygen -t rsa -b 4096 -C "youxiang@163.com"

生成如下三个文件,其中id_rsa 为私有密钥,id_rsa.pub为公有密钥(需使用公有密钥,添加到coding.net的ssh公钥中)


git clone git@git.coding.net:moka/cmu1.git
【记得选择ssh,而非https】

1、添加git配置信息

git config --global user.name "Steven"
git config --global user.email youxiang@email.com

Git的配置信息分为全局和项目两种,上面命令中带了“–global”参数,这就意味是在进行全局配置,它会影响本机上的每个一个Git项目。
查看全局配置信息,可以看到我们配置的用户名和邮箱。

$ cat ~/.gitconfig
[user]
name = Steven
email = seyo816@email.com

五、git的安装
Ubuntu12.04中默认没有安装Git。需要自行安装。
1. 安装Git
1.1 Ubuntu12.04下
可以使用apt-get方式安装,也可以下载源代码安装【1】,我们这里使用apt-git安装。
但由于直接使用 sudo apt-get install git 安装的版本较老,因此我们参考【2】中给出的PPA源。

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

安装完成后,检查是否安装成功

git --version

显示 git version 2.1.1,表明安装成功。
1.2 CentOS6.6下
在CentOS5的时代,由于yum源中没有git,所以需要预先安装一系列的依赖包。但在CentOS6的yum源中已经有git的版本了,可以直接使用yum源进行安装。

$ sudo yum install git

但是yum源中安装的git版本是1.7.1,太老了,Github等需要的Git版本最低都不能低于1.7.2 。所以我们一般不用上面的方法。而是下载git源码,编译安装。
编译安装的步骤是【4】:
(1)首先先更新系统

sudo yum update

(2)安装依赖的包

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

(3)下载git源码并解压缩

$ wget https://github.com/git/git/archive/v2.3.0.zip
$ unzip v2.3.0.zip
$ cd git-2.3.0

(4)编译安装
将其安装在“/usr/local/git”目录下。

make prefix=/usr/local/git allsudo make prefix=/usr/local/git install

(5)此时你如果使用git –version 查看git版本的话,发现git仍然是1.7.1版本。这是因为它默认使用了”/usr/bin”下的git。
你可以用下面的命令查看git所在的路径:

$ whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

(6)我们要把编译安装的git路径放到环境变量里,让它替换”/usr/bin”下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。

sudo vim /etc/profile

然后在文件的最后一行,添加下面的内容,然后保存退出。

export PATH=/usr/local/git/bin:$PATH

(7)使用source命令应用修改。

source /etc/profile

(8)然后再次使用git –version 查看git版本,发现输出2.3.0,表明安装成功。
2. 设置Git
(1)设置用户名和email。

git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"

此时,Home目录下会新建一个.gitconfig文件
3. 为GitHub账号添加SSH Keys
以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,比如提交修改,每次都需要输入口令。)
(1)创建SSH key

$ ssh-keygen -t rsa -C "youremail@163.com"

系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认,连续三次回车即可。
(2)Copy SSH Key
然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。

vim ~/.ssh/id_rsa.pub

(3)添加到GitHub
登录github-> Accounting settings图标-> SSH key-> Add SSH key-> 填写SSH key的名称(可以起一个自己容易区分的),然后将拷贝的~/.ssh/id_rsa.pub文件内容粘帖-> add key”按钮添加。
(4)测试

ssh -T git@github.com
  1. 为GitHub上的Repository提交修改
    (1)git clone已存在GitHub上的Repository。(在新建的~/MyTestFolder目录中)
git clone https://github.com/***.git

(2)修改一个文件,然后提交

vim README.md
git status
git add README.md
git status
git commit -m "Edit by WorkUbuntu 1204"
git status
git remote add origin https://github.com/**Test.git

这时会报错误:

fatal: remote origin already exists.

解决办法【3】:

$ git remote rm origin

然后再次执行

git remote add origin https://github.com/zhchnchn/ZhchnchnTest.git

(3)之后,需要将修改push到GitHub上

git push -u origin master

执行该条命令后,会要求输入GitHub账户的用户名和密码。
(4)提交完成后,查看GitHub上的Repository,会发现内容修改成功。
Refer
【1】How To Install Git on Ubuntu 14.04(https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-14-04
【2】Installing Latest version of git in ubuntu(http://stackoverflow.com/questions/19109542/installing-latest-version-of-git-in-ubuntu
【3】Ubuntu12.04下安装Git(http://blog.csdn.net/biosd/article/details/9115837
【4】CentOS6.6源码安装git-2.3.0(http://blog.csdn.net/goritcly/article/details/43878209)(http://www.centoscn.com/image-text/install/2015/0225/4735.html

六.安装xcache
①。从另一个服务器端复制文件到当前文件
scp root@202.118.40.38:/data/download/xcache-3.2.0.tar.gz ./
注:后边的./为复制到当前所在的文件(也可以自己指定文件目录)
②。解压
tar -zxvf xcache-3.2.0.tar.gz
③。解压过后安装配置

./configure –enable-xcache –enable-xcache-coverager –enable-xcache-optimizer –with-php-config=/usr/local/php/bin/php-config

一、安装Xcache


# wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
# tar zxvf xcache-1.3.0.tar.gz
# cd xcache-1.3.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=/usr/local/php/bin/php-config
# make && make install

注:
–enable-xcache 表示启用Xcache支持;
–enable-xcache-coverager 表示包含用于测量加速器功效的附加特性;
–enable-xcache-optimizer表示启用操作码优化
安装完毕后系统会提示xcache.so模块生成路径,本次生成路径为/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/,然后把xcache.so移动到/usr/local/php/include/php/ext目录下。
二、配置管理Xcache
1、修改php配置文件
配置时我们可以参考xcache的配置模板xcache.ini,此文件位于Xcache安装程序中

# vi /usr/local/php/lib/php.ini

然后添加如下内容

extension_dir=/usr/local/php/include/php/ext
[xcache-common]
extension = xcache.so

[xcache.admin]

xcache.admin.enable_auth = On
xcache.admin.user = "xcache"
xcache.admin.pass = ""

[xcache]
xcache.shm_scheme ="mmap"
xcache.size=60M
xcache.count =1
xcache.slots =8K
xcache.ttl=0
xcache.gc_interval =0
xcache.var_size=4M
xcache.var_count =1
xcache.var_slots =8K
xcache.var_ttl=0
xcache.var_maxttl=0
xcache.var_gc_interval =300
xcache.test =Off
xcache.readonly_protection = On
xcache.mmap_path ="/tmp/xcache"
xcache.coredump_directory =""
xcache.cacher =On
xcache.stat=On
xcache.optimizer =Off

[xcache.coverager]
xcache.coverager =On
xcache.coveragedump_directory =""

注意:在php.ini文件中的下面【注意xcache.so的路径 紫色部分】

;xcache
;extension_dir=/usr/local/php/include/php/ext
[xcache-common]

extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xcache.so

2、生成Xcache缓存文件

# touch /tmp/xcache
# chmod 777 /tmp/xcache

3、生成Xcache管理员的秘密(MD5密文)

# echo -n "123456" | md5sum
e10adc3949ba59abbe56e057f20fdsf83e

然后将上述生成的MD5密文粘贴到php.ini文件中xcache.admin.pass = “”选项,xcache.admin.pass= “e10adc3949ba59abbe56e057f20fsdf83e”
4、拷贝Xcache管理程序到网站根目录下

# cp -a /tmp/xcache-1.3.0/admin/  /usr/local/nginx/html/

然后重新启动PHP,然后访问http://localhost/admin ,用户名为xcache 密码为123456;另外,还可以通过phpinfo来验证PHP是否支持Xcache

默认虚拟主机

##默认网站(虚拟主机)##
LNMP默认网站配置文件:/usr/local/nginx/conf/nginx.conf
LNMPA默认网站配置文件:/usr/local/nginx/conf/nginx.conf 和 /usr/local/apache/conf/extra/httpd-vhosts.conf
LAMP默认网站配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf

七、编写脚本
在/data/tasks/下编写脚本

minuth.sh
#!/bin/bash
cd /data/www/网站域名/**
git reset --hard
git pull

写完脚本后,执行一次脚本

sh minuth.sh

八、设置定时器
①。查看是否安装定时器cromtab
安装:

yum install vixie-cron
yum install crontab

②。crontab -e 设置任务

*/2 * * * * sh /data/tasks/minuth.sh

启动service crond restart

拷贝远程服务器的文件到本地服务器
拷贝远程服务器192.168.**的目录/tmp/test到当前目录下。

[root@CentOS_Test_Server tmp]#scp -r root@192.168.**:/tmp/test ./
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值