ubuntu的web开发环境搭建
为了保持mac的干净整洁,决定用PD搭建一条web开发环境,记下整个过程。
ubuntu
首先是操作系统,本着习惯就好的原则,选用了Ubuntu server 12.04.4版。系统的安装很简单,http://www.ubuntu.org.cn/download/server 下载镜像,在虚拟机里安装即可。
装好系统,为了方便开发,在系统上装了ssh,运行:
sudo apt-get install openssh-server
zsh
然后是安装zsh和配置oh-my-zsh。不久前从mactalk处知道了zsh的存在和强大,在此感谢mac君。
整个安装过程十分简单,参考了mac君原文,点此进入。
安装zsh,执行: sudo apt-get install zsh 即可。要将默认shell换成zsh,运行:chsh -s /bin/zsh
安装oh-my-zsh前,要先安装git,sudo apt-get install git 。
接下来就可以安装oh-my-zsh,安装有两种方法,自动安装:
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
手动安装
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
重新登录shell即可。
nginx
我采用的是源码安装。
首先到 http://nginx.org/en/download.html 下载nginx,我下载的是nginx-1.4.5。
解压,检查编译环境,默认的安装路径是/user/local/nginx,如果想更换目录使用--prefix=your_path作为参数(your_path是你的目标路径)。
./configure
可以通过./configure —help获取帮助。
我在安装过程中遇到如下问题:
- error: the HTTP rewrite module requires the PCRE library.
解决方法:安装libpcre3和libpcre3-dev即可
sudo apt-get install libpcre3 libpcre3-dev - error: the HTTP gzip module requires the zlib library.
解决方法:sudo apt-get install openssl libssl-dev libperl-dev
搞定之后,make,然后sudo make install就ok啦。
sudo /usr/local/nginx/sbin/nginx启动nginx服务。
sudo /usr/local/nginx/sbin/nginx -s stop 停止服务。
sudo /usr/local/nginx/sbin/nginx -s reload reload服务。
用浏览器输入服务器ip,看到如下内容,说明安装成功啦。
根据mac君的建议(详情见其原文),修改nginx配置/usr/local/nginx/conf/nginx.conf:
- worker_processes个数改为cpu核数
- event里增加use epoll
- 把worker_connections的值设置大一点,如果是1G内存,不要大于100000/worker_processes。
reload一下就ok了。
(由于安装方法采用源码安装,与mac君的配置文件路径不同,请大家灵活使用。)
mysql
一句话搞定:sudo apt-get install mysql-server,安装过程中需要按提示输入root用户密码。
差点忘了,还有mysql的图形化管理工具phpmyadmin,
sudo apt-get install phpmyadmin
php
sudo apt-get install php5
sudo apt-get install php5-fpm
完成安装之后,为了与nginx合作,还需要配置一下php5-fpm(php的FastCGI实现之一),打开/etc/php5/fpm/php.ini,
找到cgi.fix_pathinfo=1,将开头的分号去掉,并改为cgi.fix_pathinfo=0,使php解释器只会尝试解释特定类型的文件,这样更加安全。
修改/etc/php5/fpm/pool.d/www.conf,把 listen = 127.0.0.1:9000 修改为 listen = /var/run/php5-fpm.sock,前者是走TCP socket,后者是Unix domain socket,如果服务都在同一台机器上,建议使用后者,效率更好一些(参考mac君原文,点击进入)。注意,这里需要启动一下php5-fpm才会有/var/run/php5-fpm.sock这个文件。
重启php,完成。
sudo service php5-fpm restart
把各个服务联系起来
独立的服务装好后,需要进行一些配置把他们联系起来。
nginx & php
首先是nginx和php(或者你需要通过网页访问的服务,如WordPress)。打开nginx配置文件nginx.conf,找到server,修改成下面的样子。server {
listen 80;
server_name localhost;
root /var/www;
index index.html index.htm index.php; location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www;
} location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
}
}
需要注意的是,配置项中的所有根目录地址需要改成自己网页的根目录地址。
保存退出,使用之前说过的方法reload nginx就完成了。测试:在/var/www目录下建立一个info.php文件,内容为:
<?php phpinfo();?>
在浏览器地址栏中输入:yourip/info.php 查看配置是否成功。这里发现一个没能解决的问题,html文件里如果有php语句,nginx好像无法解析,请问大神们该如何解决?
接下来是连接nginx与phpMyAdmin。做好上一步之后,这步很简单,只需要把/usr/share/phpmyadmin目录拷贝到你的网页根目录即可,这里就是/var/www目录下。浏览器地址栏输入:yourip/info.php 即可看到图形界面,用安装mysql时的用户名密码登录即可进行管理。
整个过程中多处参考了mac君的趣谈个人建站和搜索引擎上的各种问答贴,十分感谢!
再次推荐mactalk: www.macshuo.com
ubuntu的web开发环境搭建的更多相关文章
- Web开发环境搭建 Eclipse-Java EE 篇
Web开发环境搭建 Eclipse-Java EE 篇 [原创内容,转载注名出处] 1. 下载和安装 1.1 下载JDK 在Java官方网站下载最新版本的 Java SE: http://www.o ...
- ubuntu下Nodic开发环境搭建
ubuntu下Nodic开发环境搭建 1.编译环境 ubuntu可直接装gcc编译环境 sudo apt install gcc-arm-none-eabi 也可以下载可执行文件download 2. ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
- 记录一下Web开发环境搭建 Eclipse-Java EE 篇
转自https://www.cnblogs.com/yangyxd/articles/5615965.html Web开发环境搭建 Eclipse-Java EE 篇 [原创内容,转载注名出处] 1. ...
- Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建
本文主要分三部分,分别是:后台核心业务逻辑.桥梁辅助控制和前台显示页面. 本Web开发环境综合了多种工具,包括Maven包管理与编译工具.Dubbo分布式服务框架.MyBatis数据持久化工具.Lin ...
- OSGI的WEB开发环境搭建
第一步,搭建OSGI环境: 打开eclipse,点击run->run configration..,配置如下,点击run. 运行结果如下图所示:说明OSGI环境搭建完毕. 第二步:搭建基于OSG ...
- 如何学习web开发环境搭建和脚手架
Web前端的学习路线 第一阶段: HTML+CSS: HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础: Js基础教程.js内置对象常用方法.常见DO ...
- Spring.DM web开发环境搭建
作为一个初学者来说,搭建好Spring.DM 的web开发环境还是有些麻烦的.我就遇到了N多麻烦,走了很多弯路.本文介绍了2种比较简单的搭建Spring.DM OSGi web开发环境的搭建. 第 ...
- JAVA WEB开发环境搭建
JAVA WED开发环境搭建 JDK的安装和配置 到https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21 ...
随机推荐
- SPOJ PGCD (mobius反演 + 分块)
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove 题意 :求满足gcd(i , j)是素数(1 &l ...
- Tomcat: IllegalStateException: No output folder --reference
Today, I started to create a couple of JSP pages for the server-side part of my MSc thesis project i ...
- [转] 浅谈 C++ 中的 new/delete 和 new[]/delete[]
转:http://www.cnblogs.com/hazir/p/new_and_delete.html 在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以 ...
- Java中字符串内存位置浅析
前言 之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前 ...
- Linux 多网卡的7种bond模式原理
Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0:平衡负载模式,有自动备援,但 ...
- mysql 热备
全备份:(生成时间戳文件夹:2016-04-20_16-12-01)innobackupex --users=root --password=root /tmp/backup 第一次增量备份:(生成时 ...
- 【转】AFNetworking之于https认证
转自:http://www.cocoachina.com/ios/20161220/18393.html 写在开头: 本来这篇内容准备写在AFNetworking到底做了什么?(三)中的,但是因为我想 ...
- codevs 2494 Vani和Cl2捉迷藏
/* 一开始大意了 以为和bzoj上的祭祀是一样的(毕竟样例都一样) 这里不知相邻的点可以相互到达 间接相连的也可以到达 所以floyed先建立一下关系 再跑最大独立集 下面贴一下95 和 100的代 ...
- PartialViewResult用法
后台代码 ) { IList<TestModel> lstTestModel = this.GetModelList(categoryid); return PartialView(lst ...
- 【转】setStyleSheet用法
[转自]http://blog.csdn.net/seanyxie/article/details/5925723 使用setStyleSheet来设置图形界面的外观: QT Style Sheets ...