服务器安装LNMP及构建个人站点
服务器安装LNMP(centos6.6+nginx1.7.12+mysql5.6.24+php5.6.7)
准备工具:2个U盘、以下几个文件 ULtraISO-9.6.2.3059.exe (光盘映像文件制作/编辑/转换工具) centos-6.6-x86-64-minimail.iso (centos6.6的最小化安装ISO) libmcrypt-2.5.8.tar.gz (加密函数源码包) pcre-8.36.tar.gz (pcre语言正则表达式源码包) mysql-5.6.24.tar.gz (mysql源码包) php-5.6.7.tar.gz (php源码包) nginx-1.7.12.tar.gz (nginx源码包) 备注:nginx1.7.12、php5.6.7、mysql5.6.24、libmcrypt2.5.8、pcre8.36为固定版本,其他的编译工具等网络下载安装 |
1、centos-6.6-x86-64-minimail.iso的内容刻录到第1个U盘
客户端插入第1个空U盘,打开UltraISO软件,打开centos-6.6-x86-64-minimail.iso文件,点击”启动”菜单-“写入硬盘映像…”,硬盘驱动器选择U盘,点击” 写入”,完成后拔出 |
2、源码安装包放入到第2个U盘
客户端插入第2个空U盘,拷贝libmcrypt-2.5.8.tar.gz、pcre-8.36.tar.gz、mysql-5.6.24.tar.gz、php-5.6.7.tar.gz、nginx-1.7.12.tar.gz,完成后拔出 |
一、centos6.6安装和配置
1、centos6.6安装
服务器插入第一个U盘
进入BIOS(按F9),设置USB启动为首选,按F10退出 按F1继续进入安装界面,选择”install or upgrade an existing system”,回车 选择”english”语言(避免命令行下面的乱码问题),点OK 选择”us”键盘类型,点OK 选择安装媒体”Hard drive”,点OK 选择安装来源”/dev/sda4”,点OK 点next,安装到哪个设备,选择Basic Storage Devices 点next,安装方式为全新、升级,选择全新”Fresh instalation” 点next,输入网络标识名称”test”,设置网络”configure network” 选择”system eth0”网卡,点edit,勾选”connect automatically” 点”IPv4 settings”,从method中选择manual, 点add设置IP、子网掩码、网关、DNS,点apply,点close 点next,选择时区”上海”,设置密码 |
点next,如何分区,选择”create custom layout” 点create,点create,进入”add partition”对话框页面(以2块硬盘为例子): Mount point:选择/,ext4分区类型,输入size,点OK Mount point:选择/tmp,ext4分区类型,输入size,点OK File systemtype:选择SWAP,输入size,点OK Mount point:选择/var,ext4分区类型,输入size,点OK Mount point:选择/home,ext4分区类型,输入size,点OK Mount point:选择/data,ext4分区类型,size选择”fill to maximum allowable” ,点OK |
最终形成的分区如下表:
第一块硬盘: |
第二块硬盘: |
/系统10G |
/var日志32G |
/usr系统软件 |
/home用户目录8G |
/usr/local第三方软件 |
/data数据文件*G(剩余全部分配) |
/usr/local/src源代码 |
/data/mysql数据库文件 |
/tmp临时文件8G |
/data/website网页文件 |
swap交换分区8G |
|
点next,选择”write changes to disk”,写入磁盘 点”change device”(修改MBR引导),”BIOS drive order”下拉选择第一个硬盘,点OK 点next,等待安装完成 点reboot并且拔出U盘,完成安装 |
2、centos6.6配置
服务器插入第2个U盘
#modprobe usb-storage (如果需要的话)加载usb模块
#fdisk -l 查看磁盘,usb模块是否加载成功
#mkdir /mnt/usb 创建usb目录 #mount /dev/sda4 /mnt/usb 载入U盘(假如U盘是sda4) #cd /mnt/usb 进入/mnt/usb目录 #cp * /usr/local/src 拷贝/mnt/usb目录下所有文件到src目录 |
#umount /mnt/usb (如果需要的话)卸载U盘
#vi /etc/sysconfig/iptables 进入防火墙设置,打开3306、80端口 注意:vi里面有多余空格会报错 对应行下面增加: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 一般修改远程登录端口22(安全)修改/etc/ssh/sshd_config中Port 22并且重启/etc/init.d/sshd: #service iptables restart 重启防火墙使设置生效 |
#yum -y install wget gcc-c++ ncurses-devel cmake make perl libjpeg-devel libpng-devel openssl-devel libxml2-devel gd-devel libcurl-devel sysstat 安装编译工具 |
#cd /usr/local/src 进入/usr/local/src目录 #tar zxvf libmcrypt-2.5.8.tar.gz 解压libmcrypt-2.5.8.tar.gz #tar zxvf pcre-8.36.tar.gz 解压pcre-8.36.tar.gz #tar zxvf mysql-5.6.24.tar.gz 解压mysql-5.6.24.tar.gz #tar zxvf php-5.6.7.tar.gz 解压php-5.6.7.tar.gz #tar zxvf nginx-1.7.12.tar.gz 解压nginx-1.7.12.tar.gz |
#cd /usr/local/src/pcre-8.36 进入pcre-8.36目录 #./configure 配置软件包 #make 编译软件包 #make install 安装软件包 #cd /usr/local/src/libmcrypt-2.5.8 进入libmcrypt-2.5.8目录 #./configure 配置软件包 #make 编译软件包 #make install 安装软件包 |
二、mysql、nginx、php安装和配置
1、mysql、nginx、php安装
#groupadd mysql 创建用户组mysql #useradd mysql -g mysql 创建用户mysql,并加入到mysql组 #mkdir /usr/local/mysql 创建/usr/local/mysql目录 #mkdir /data/mysql 创建/data/mysql目录 #mkdir /data/mysql/data 创建/data/mysql/data目录 |
#vi /etc/profile 编辑profile ,加入PATH搜索路径 文件最后加入如下2行 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH #source /etc/profile 使配置生效 |
#cd /usr/local/src/mysql-5.6.24 进入mysql-5.6.24目录 #cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/data/mysql/data \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 #make 编译mysql #make install 安装mysql |
#cd /usr/local/src/nginx-1.7.12 进入nginx1.7.12目录 #./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module #make 编译nginx #make install 安装nginx |
#cd /usr/local/src/php-5.6.7 进入php5.6.7目录 #./configure \ --with-iconv \ --with-zlib \ --enable-xml \ --disable-rpath \ --enable-safe-mode \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --without-pear \ --enable-sqlite-utf8 \ --enable-ftp \ --with-jpeg-dir \ --with-freetype-dir \ --with-png-dir \ --enable-fpm \ --with-fpm-user=httpd \ --with-fpm-group=httpd \ --with-pdo-mysql \ --with-mysqli \ --with-mcrypt=/usr/local/ \ --enable-opcache=no \ #make 编译php #make install 安装php |
2、mysql配置
#cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 拷贝my-default.cnf到/etc下名为my.cnf #cd /usr/local/mysql 返回上级目录/usr/local/mysql #scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data 初始化数据库 #chown -R mysql:mysql /usr/local/mysql 修改/usr/local/mysql目录权限 #chown -R mysql:mysql /data/mysql/data 修改/data/mysql/data目录权限 |
#cd /usr/local/mysql/support-files 进入/usr/local/mysql/support-files目录 #./mysql.server start 启动mysql服务 #mysql 进入mysql 以下设置mysql远程连接配置 mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456"; root是用户名,%代表任意主机,'123456'指定的登录密码 mysql>flush privileges; 重载系统权限 mysql>quit 退出 |
3、php配置
#cp /usr/local/src/php-5.6.7/php.ini-production /usr/local/lib/php.ini 拷贝php.ini-production到/usr/local/lib目录下名为php.ini #cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf 拷贝/usr/local/etc/php-fpm.conf.default到/usr/local/etc/目录下名为php-fpm.conf |
#groupadd nginx 创建用户组nginx #useradd nginx -g nginx 创建用户nginx,并加入到nginx组 #mkdir /var/log/php 创建/var/log/php目录 #chmod 666 /var/log/php 设置/var/log/php目录权限 |
#vi /usr/local/lib/php.ini 编辑php.ini,修改时区 时区改为date.timezone="Asia/Shanghai" #vi /usr/local/etc/php-fpm.conf 编辑php-fpm.conf 修改红色部分 error_log=/var/log/php/php-fpm.log . . . user=nginx group=nginx #/usr/local/sbin/php-fpm 开启php服务 |
4、nginx配置
#vi /usr/local/nginx/conf/nginx.conf 编辑nginx.conf 修改80端口为其他 最后 } 上面加入include vhost/*.conf; |
#mkdir /usr/local/nginx/conf/vhost #ln -s /usr/local/lib/libpcre.so.1 /lib64 添加libpcre.so.1这个模块 #/usr/local/nginx/sbin/nginx 开启nginx服务 |
#yum -y update 安装系统补丁 |
三、站点测试
测试前先建立站点路径配置文件 php测试页代码: <?php phpinfo(); ?> |
php/nginx/mysql启动命令: /usr/local/sbin/php-fpm /usr/local/nginx/sbin/nginx /usr/local/mysql/support-files/mysql.server start nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx
|
我是用虚拟机搭的环境,做了些其他的操作,仅供参考:
2. 配置nginx 配置,站点路径指向共享文件夹中的某一项目路径
3.实现内网转发,外网可以直接访问站点(使用反向代理服务器,网上找到个第三方的,也可以自己搭个代理服务器,这里使用免费的,魔法隧道,配置比较简单)
魔法隧道地址: http://www.mofasuidao.cn/
4.本地搭建ftp服务,使用魔法隧道对ftp 21端口进行转发(考虑个人电脑安全性暂未实现,即使要实现也必须增加安全性措施,sftp或许更适用)
服务器安装LNMP及构建个人站点的更多相关文章
- 55个高质量的Magento主题,助你构建电子商务站点
Magento是一个功能丰富的开源电子商务平台(译者注:基于PHP的Zend Framework开发),在网店的外观.商品管理以及其它功能上,它给商家提供了前所未有的灵活和易用性.通过挑选一个合适的M ...
- 以CentOS为操作系统的vps或服务器安装lnmp运行环境的方法
安装步骤: 1.使用putty或类似的SSH工具登陆VPS或服务器: 登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行:yum ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之Nginx配置
搭建好LNMP环境之后,接着要考虑的就是整个系统的并发能力了. 一.Nginx的配置 Nginx有很好的并发能力.但是要想使它的并发能力能够施展出来,需要在初步安装好的Nginx上做一些配置.主要需要 ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP)
LNMP环境和软件版本: 名称 版本号 查询命令 Linux系统 CentOS Linux release 8.1.1911 (Core) cat /etc/redhat-release Nginx ...
- 利用 Heritrix 构建特定站点爬虫
http://www.ibm.com/developerworks/cn/opensource/os-cn-heritrix/
- Ubuntu新服务器安装lnmp
版本: nginx(无要求,最新) mysql(5.6.xx) php(5.6.xx) ubuntu(16.04,其他版本也并无过多差异) 准备: #apt-get update #apt-get i ...
- 腾讯云linux服务器安装lnmp一键包
这边域名已经实名了. 然后修改DNS服务器 然后备案吧 还是先不备案,直接云解析DNS 哦,想起来了,阿里云自己都可以生成SSL证书.重新弄一次吧,其实腾讯云也可以申请域名型免费版DV
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之调试工具ab(apache bench)
ab 测试工具,全称是 apache bench ,是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用. ab 可以在 Windows 系统中使用,也可以在 L ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之MySQL配置
mysql高并发配置 要在mysqld下设置 1. 修改back_log参数值:由默认的50修改为500.(每个连接256kb,占用:125M) back_log=500 back_log值指出MyS ...
随机推荐
- grafana安装
1 wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.4-1.x86_64.rpm2 sudo ...
- Socket编程 - API
基础知识部分:http://www.cnblogs.com/Jimmy1988/p/7839940.html 1. 基本流程 Process Client Server Comment socket( ...
- EF的小知识
关于EF多表提交保存的问题,同理,修改也适用,用EF不久,总是每张表提交都SaveChanges()一下,后面查看了点资料,其实直接可以add到每张表,直接最后提交就行了,这样操作起来和性能上都要好很 ...
- CentOS7下SVN server的安装与配置
CentOS7通过yum install命令进行安装SVN(参考:http://subversion.apache.org/packages.html#centos) $ yum install su ...
- 数组的strong copy理解
一.数组的不同情况下的copy,mutablecopy分析 1.不可变数组的copy(没有创建新对象,复制的只是指针) 2.不可变数组的mutable copy(创建新对象) ...
- Linux下socket通信和epoll
上一篇博客用多线程实现服务端和多个客户端的通信,但是在实际应用中如果服务端有高并发的需求,多线程并不是一个好选择. 实现高并发的一种方法是IO多路复用,也就是select,poll,epoll等等. ...
- WCF之maxConnections
<bindings> <netTcpBinding> <binding name="TcpBinding" closeTimeout="00 ...
- C#简单工厂模式(学习Learning hard讲解笔记)
原味地址http://www.cnblogs.com/zhili/p/SimpleFactory.html 简单工厂模式通俗的理解就是用户与工厂的关系,用户用的东西,工厂来生成,责任明确. 就像大神展 ...
- html5中高德、腾讯、百度 地图api调起手机app
html 部分 <div id="mapBg"> <div class="mapTab"> <a href="" ...
- Ubuntu搜索不到WiFi的解决办法
时间:2018年1月25日 废话连篇:杭州下了第一场雪,冒险严寒来到实验室,打开电脑,纳尼连不上wifi了,好吧!不要被这件小事影响心情,开始修复了,经过一顿搜索,可能是因为驱动的问题,终端输入以下两 ...