linux接触也挺长时间了,一直也没有去真正的使用。最近想把自己开发的一些小应用部署到linux服务器上,顺便也学习一下linux服务器。然后就配了一台主机(普通pc,感觉现在pc稳定性还可以,而且也不是什么大的项目),然后把服务器放到他们办公室,然后装上CentOS5.2就准备开始使用了。安装过程相对简单,我这里安装还算基本顺利,只有网卡的驱动没有找到,然后自己从网上下载了一个,按上OK。
装完系统第一件事情,把服务器的IP地址定住,因为我服务器放在办公室,我需要远程控制。选好IP地址和DNS,然后就让服务器在那里跑着了。
回到 我的笔记本上,安装PUTTY远程控制linux的非常小但非常好用的小工具,然后安装WINSCP,使用ssh实现我windows上和linux服务器上文件的互传。呵呵,下一步就可以使用远程控制服务器,开始安装其他服务器了。
我这里使用linux主要是想作为一个WEB服务器使用,而且我一般开发都是用java,也就使用CentOS+nginx+tomcat+MySQL架构。使用CentOS的好处,网上到处都有,当然也有其缺点,我对于这个不是很精通,只是作为工具使用。选择nginx而不适用apache是,nginx在处理静态文件的时候速度更快,应对并发的数量更大一些,而且占用资源相对较少,而且nginx只有在linux操作系统上时才能发挥它的优势,不建议Windows上使用nginx,而且nginx还可以做负载均衡,配置也相当方便。tomcat其实一直是想换掉的,但是从一开始学习java开发就是用tomcat,其他的不是很熟,不过有些数据显示tomcat相对于jboss这样的服务器而言,速度会稍显优势,当然这也是由于jboss的功能更强大所造成,由于当时用不到JBOSS的高级功能,暂时定为tomcat,不熟SSH结构的java B/S程序还是跑的挺流畅的了。MySQL的优势更不用多说。
首先把nginx、jdk、tomcat、mysql的安装源文件或RPM用winscp上传到linux服务器上。然后分别开始安装这些服务器。
1、安装nginx:
这个安装应该是最简单的了,直接tar -xzvf Nignx-0.8.31.tar.gz将nginx揭开,然后进入解压后的目录
./configure --prefix=/usr/local/nginx
make
make install
ok 到这里nginx就安装完成了。启动试试吧,
/usr/local/nginx/sbin/nginx 启动完成。
http://127.0.0.1 试试, welcome Nginx,就安装ok了。
2、安装jdk
这个我下载的是jdk的bin文件,直接运行即可。
./usr/local/jdk1.6.*.bin 运行完成,即可发现在/usr/local目录下多了一个jdk1.6.*的目录,这样jdk就安装完成了,然后设置jdk的环境变量,在linux的远程黑窗口中数据java -version,如果显示正确的版本号,你就成功了。
3、安装tomcat
这个也是用的.tar.gz安装,跟nginx的安装,差不多
tar -zxvf tomcat-5.0.*
./configure
make
make install
4、安装mysql
这里用的是rpm格式,一共两个文件,一个server,一个client
安装完成,如果输入
mysql,能够正常进去,就说明安装成功了,赶紧为root用户添加用户名吧。
mysql -u root -p 然后输入你的密码就可以了。
mysql在linux上安装和在windows上使用,还是有比较大的区别的。
首先cp一个my.cnf文件到/etc下,然后修改编码(UTF-8或者是GB2312……),要不不支持中文哦。
到这里在服务器上就可以使用mysql了,但是要是使用远程客户端登录mysql,可能不允许哦,因为linux默认安装到linux是不允许远程登录的,grant select,insert,updata,delete to *.* on *@*** 给你所在的机器升级一下权限吧。
刚开始使用linux安装这些软件的时候,还是跟windons上的安装有很多区别的。
剩下的就是修改配置,开机自动启动,然后优化服务器了,安装的时候还是会走不少的弯路,写的时候比较容易了。
安装完上面的服务器后,还想再装个subversion的服务器,管理一下自己程序的版本,刚开始以为这个会很简单,没想到折腾了我两天。
刚开始使用的系统自带的apache,然后用yum安装的subversion,不知道什么原因,用一个文件冲突,没办法,只好卸掉apache和subversion,这里我还是建议安装subversion服务器的时候自己安装,而且建议是源文件安装。要不安装的时候简单,后面遇到问题可不容易解决。
然后又重新下载了httpd和subversion的安装文件,
1、安装apache
tar -xzvf httpd-2.3.*.tar.gz
./configure --enable-mods-shared=all
--with-mpm=worker
--enable-nonportable-atomics=yes
--enable-static-support
make
make install
安装好后,发现nginx已经占用了80端口,还不允许apache使用了,然后简单的修改apache的配置文件,把端口改成81,这时候还不允许,
semanage port -a -t http_port_t -p tcp 81
上面这个是查了好久找到的赋予其81端口的命令。
2、安装subversion服务器
解压完成以后,首先把SQLITE解压(这里还需要sqlite,因为提示我的版本不足),在 subversion新建文件夹sqlite-amalgamation,将其中的一个sqlite3.c文件复制到该文件夹中./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-apxs=/usr/local/apache/bin/apxs
makemake install这样就安装好了,通过这种方式安装的 subversion会自动向apache是httpd.conf中添加load两个模块的。。。。稍作修改即可使用。。。
大功告成,subversion也能够使用了。剩下的就是继续完成我程序,运行,测试了。。。。
---------------
Nginx 怎么和 tomcat 相关联呢?
location ~ ^/shoplist.shtml {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:5080;
expires 1d;
}
只要把动态的内容转到tomcat,nginx会代理请求响应到动态内容然后返回到客户端。
(责任编辑:IT) |