在linux CentOS6上安装web环境

感谢浏览,欢迎交流=。=


都说linux作为服务器优于window,近期也是学习了下linux。

win7下安装了linux虚拟机,购买linux阿里云主机,开启linux之旅。

进入正题,在linux使用阿里云提供的一键安装工具上安装web环境。

登录阿里云,进入帮助中心,下载阿里云linux一键安装web环境安装包。

在虚拟机中的cenos6中安装

上传文件命令:rz sz进行本地和服务器间的上传、下载。 安装命令:yum install lrzsz

解压安装包命令:unzip -x sh.zip 安装命令:yum install unzip

yum安装 -y 不再进行yes/no提示

给sh文件赋予执行权限:chmod -R 755 sh
注 -R 递归 。
755 执行权限

进行安装: ./install.sh

选择apache作为服务器

安装半小时:使用命令 netstat -tunpl ,如下,证明安装成功

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 32439/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 858/sshd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 12990/mysqld

访问虚拟机ip:http://192.168.199.166发现打不开

于是查看apache的配置,查看文档

apache文档:http://httpd.apache.org/docs/2.2/
configuration directive:http://httpd.apache.org/docs/2.2/mod/directives.html

which php和which httpd,翻看配置文件,没有头绪,仍然打不开http://192.168.199.166

于是想到先确保本地浏览正常。

命令:netstat -lnt |grep 80
结果:tcp 0 0 :::80 :::* LISTEN
证明监听端口正常

命令:curl http://192.168.199.166/test.html (-I可以查看http head)

结果:<div>htmltest</div>

本地访问没问题

外网不能访问,于是查看防火墙状态:
命令:service iptables status
结果:iptables:正在运行防火墙。

于是关闭防火墙

命令1:chkconfig iptables on

命令2:service iptables start

参考命令如下
终端中输入如下命令打开防火墙:
chkconfig iptables on
如闭防火墙则输入:
chkconfig iptables off
上述两条命令均要重启系统才能生效。
如果不想通过重启系统而即时生效的话,可以用“service”命令。缺点是重启系统后设置会丢失。
开启防火墙:
service iptables start
关闭防火墙:
service iptables stop

为了保险,重启了apache服务
service httpd restart

ok。问题解决

仅开启80端口,执行如下命令

1、开启80端口命令:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
2、保存配置 命令:/etc/rc.d/init.d/iptables save
3、重启服务命令 :/etc/rc.d/init.d/iptables restart
4、查看已经开放的端口: /etc/init.d/iptables status

于是部署[ext官方文档]至服务器中,浏览器network发现未启动gzip。ext-all.js足有1.9M,css文件足有900kb。

遂参考http://jingyan.baidu.com/article/db55b609a7bc234ba20a2f7e.html
修改文件:httpd.conf

查看以下两条命令,确认并开启deflate_module headers_module 两个模块
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

文件尾部添加配置如下
<IfModule deflate_module>
SetOutputFilter DEFLATE
# Don’t compress images and other
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
再次network查看ext-all.js文件,压缩至570kb。惊讶css文件压缩至87kb,足足压缩了十分之一。

至此完成。

随笔记录:

---------------------------------------------------------------------------

想到可否使用手机随时远程服务器,找到两款app:
iphone ssh工具 vSSH Lite
windows远程工具 RD Client

---------------------------------------------------------------------------
防火墙相关文章:参考地址http://www.jb51.net/LINUXjishu/40548.html
疑问:由于科研要求,我们系里多数都没有用Windows系统,而用的是Linux,很不习惯,一开机就是黑乎乎的界面,像传说中的DOS一样。还好做科研的那些软件有说明书,但是关于Linux的防火墙却没有提到,我很担心蠕虫或者后门入侵,该怎么启动呢?
回答:因为你没有说明是哪个Linux分发版,但是Linux的底层的东西基本都是一样的,所以小编给你的方法,对于绝大多数分发版是有效的。Linux自身的防火墙名为“iptables”。你说的那个黑乎乎的,就是终端。在终端中输入如下命令打开防火墙:
chkconfig iptables on
如闭防火墙则输入:
chkconfig iptables off
上述两条命令均要重启系统才能生效。
如果不想通过重启系统而即时生效的话,可以用“service”命令。缺点是重启系统后设置会丢失。
开启了防火墙:
service iptables start
关闭防火墙:
service iptables stop
仅开启80端口
1、开启80端口命令:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
2、保存配置 命令:/etc/rc.d/init.d/iptables save
3、重启服务命令 :/etc/rc.d/init.d/iptables restart
4、查看已经开放的端口: /etc/init.d/iptables status
---------------------------------------------------------------------------
程序运行使用一套语言需要有字符集(数据)和字体(显示),Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。

一、locale详解

在 Linux 中通过 locale 来设置程序运行的不同语言环境,locale 由 ANSI C 提供支持。locale 的命名规则为:
<语言>_<地区>.<字符集编码>
如:
zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。
在locale环境中,有一组变量,代表国际化环境中的不同设置:

1、LC_COLLATE
定义该环境的排序和比较规则

2、LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。

3、LC_MONETARY
货币格式

4、LC_NUMERIC
非货币的数字显示格式

5、LC_TIME
时间和日期格式

6、LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。

7、LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。

8、LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。

一个例子:

设置前,使用默认locale:
# locale
LANG="POSIX"
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

设置后,使用zh_CN.GBK中文locale:

# export LC_ALL=zh_CN.GBK
# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK

"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。

二、locale常用操作

1、查看现有语言环境:
locale

2、可用语言环境:
locale -a

3、临时修改语言环境:
AIX:
export LANG=en_US
export LANG=zh_CN

Linux:
export LANG=en_US.UTF-8
export LANG=zh_CN.UTF-8

4、永久修改系统级字符集:

修改/etc/sysconfig/i18n
英文版系统:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

中文版系统:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"

英文版系统支持中文字符集:yum install fonts-chinese

三、安装中文字符集

1、安装所有与中文支持相关的包

# yum -y groupinstall chinese-support

2、修改字符编码配置文件

# vi /etc/sysconfig/i18n

修改后内容如下:

LANG="zh_CN.UTF-8"

SUPPORTED="zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"

SYSFONT="latarcyrheb-sun16"

上一篇:摘:数据结构各种算法实现(C++模板)


下一篇:sonar-代码扫描