设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置。如果显示其他编码需要按如下步骤设置。
CentOS
编辑/etc/sysconfig/i18n 文件,内容修改为:(可以使用vi、nano或winscp图形管理软件,依个人口味选择)
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
保存,重启系统。
Debian
apt-get install -y locales
dpkg-reconfigure locales
执行dpkg-reconfigure locales后会出现如下对话框:
用向下的方向键找到en_US.UTF-8 UTF-8,按空格选择,再按回车键。
再按向下键选择en_US.UTF-8,再按回车键确认,重启系统。
Ubuntu
编辑/etc/default/locale文件,修改内容为(没有的话创建一个):
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
保存,再执行:
locale-gen en_US en_US.UTF-8
重启系统。
执行:locale 看一下是否显示是en_US.UTF-8,如果报错,请在本文反馈。按以上步骤设置好后即可支持中文,可以上传中文的文件或中文的目录。
在nginx.conf文件里配置的字符集也是utf-8
server {
listen 80
server_name test.cn
root /data
index index.html index.jsp
charset utf-8
……
ay%PM'G+U0
客户端用的是secureCRT,用的字符集改为utf-8,用uft-8后再用rz上传文件,在ie下中文可以正常显示了。
注意:
如果中文文件名是gb2312的需要转换成utf-8.(注是文件名,不是文件内容)。使用convmv转换,(如果找不到这个命令,光盘中有这个包 convmv-1.10-1.el5.noarch.rpm)convmv -fGBK -tUTF8 -r--notesttarget
其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名(actually do rename the files),target是目标目录。其余参数可以参考man或者-h。
如果是在没有更改编码前上传的文件,设置好后依然会是乱码的,建议重新上传一下文件。如果没有原来文件的备份可以使用下面命令进行转换:for f in `ls *.html` do mv $f `ls $f|iconv -f GBK -t UTF-8`done 。
其中*.html为要转换的文件类型,也可以更换为*.txt,*.rar 主要是看你是什么文件了,里面的GBK为源文件的编码类型,如果不知道源文件的编码类型可以执行:file -bi 文件名 。
如果想在Windows下改的话其实也是可以的Editplus就有批量修改文件编码的功能,其他的软件可能也有此类功能,可以自行研究一下。
如果是目录的话,目前好像是没有办法进行转换。
还有一个问题,如果是html之类的网页文件,如果原来是网页内容是gb2312或类似的非utf-8的编码,先要将网页里面的charset 改为charset=utf-8,再转换文件编码,否则网页还是会乱码的。
convmv 可以从http://j3e.de/linux/convmv 下载,
wget http://j3e.de/linux/convmv/convmv-1.14.tar.gz
tar -zxvf convmv-1.14.tar.gz
cd convmv-1.14
make clean
make install
如:
./convmv -f GB2312 -t UTF-8 -r --nosmart --notest userfiles/*.*
以上表示 userfiles下的所有文件的文件名由GB2312转换为UTF-8
对于文件内容的字符集转换可以使用iconv
LNMP环境的搭建配置(CentOS6.2+nginx1.1.15+mysql5.5+php5.3.10)一、安装前的准备
1、下载所需要的安装包
Nginx 下载:http://nginx.org/download/nginx-1.1.15.tar.gz
Mysql下载:http://mysql.cs.pu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.21.tar.gz
php下载:http://cn.php.net/distributions/php-5.3.10.tar.gz
2、首先对环境需要的库和编译工具进行安装
yum -y install gcc
gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype
freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2
glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs
e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
openldap openldap-devel nss_ldap openldap-clients openldap-servers
二、安装过程
1、编译安装Mysql
1) 创建mysql安装目录及数据存放目录
# mkdir -p/usr/local/mysql/
# mkdir -p /data/mysql/
2)创建用户和用户组与赋予数据存放目录权限
# groupadd mysql
# useradd mysql -M -s/sbin/nologin
# chown mysql.mysql -R /data/mysql/
3)安装必要的组件
# yum -y install cmake
# yum -y installncurses-devel
4)开始编译安装Mysql
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
-DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
# make
# make install
5)初始化数据库
# cd /usr/local/mysql
#
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
--datadir=/data/mysql/
6)配置环境
# cpsupport-files/my-medium.cnf /etc/my.cnf
# cpsupport-files/mysql.server /etc/init.d/mysql
# chmod 755/etc/init.d/mysql
# chkconfig mysql on
# exportPATH=/usr/local/mysql/bin:$PATH
7)启动并设置初始密码
# /etc/init.d/mysql start
# mysqladmin -urootpassword '123456'
进行再修改密码的语句
>UPDATE mysql.userSET Password = PASSWORD(‘newpwd’) WHERE User = ‘root’(生新设置密码)
>flush privileges(刷新权限)
2、 编译安装nginx
1) 添加一个不能登录并且没有主目录的用户
# useradd www -M -s /sbin/nologin
2) 下载必要的组件并安装
# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.21/pcre-8.21.zip
# unzip pcre-8.21.zip
# cd pcre-8.21
# ./configure
# make &&makeinstall
3)下载编译安装nginx
# wgethttp://nginx.org/download/nginx-1.1.15.tar.gz
# tar zxvfnginx-1.1.15.tar.gz
# cd nginx-1.1.15
# ./configure
--prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module
--with-http_ssl_module
# make &&makeinstall
4)启动nginx
#/usr/local/nginx/sbin/nginx
启动后,在浏览器里输入IP,即可查看到:Welcome to nginx!的欢迎界面
# echo"/usr/local/nginx/sbin/nginx" >>/etc/rc.local
4 编译安装php
1) 下载安装必要的组件
wget -chttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
wget
http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz 或者wget
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
wgethttp://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz
wgethttp://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz
wgethttp://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz
wgethttp://cn.php.net/distributions/php-5.3.10.tar.gz
wget http://pear.php.net/go-pear.phar
# yum -y installlibjpeg-devel libpng-devel
# tar zxvf libiconv-1.14.tar.gz
# cd libiconv-1.14
# ./configure
# make
# make install
# tar -zxvflibmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure
# make
# make install
# /sbin/ldconfig
# cd libltdl/
# ./configure--enable-ltdl-install
# make
# make install
# cd ../../
# tar zxvfmhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9
# ./configure
# make
# make install
# cd ../
ln -s/usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s/usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s/usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s/usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s/usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s/usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s/usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s/usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1/usr/lib/libmhash.so.2.0.1
ln -s/usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
# tar zxvfmcrypt-2.6.8.tar.gz
# cd mcrypt-2.6.8
# /sbin/ldconfig
#./configure
# make
# make install
# cd ../
2)编译安装php
# tar zxvfphp-5.3.10.tar.gz
# cd php-5.3.10
# ./configure
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config
--with-iconv-dir=/usr/local/lib --with-freetype-dir --with-jpeg-dir
--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml
--disable-rpath --enable-safe-mode
--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization
--with-curl --with-curlwrappers --enable-mbregex --enable-fpm
--enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf
--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap
--with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear
--with-fpm-user=www --with-fpm-group=www
# makeZEND_EXTRA_LIBS='-liconv'
# make install
3) 复制和修改php配置文件
# cp php.ini-production
/usr/local/php/lib/php.ini 或是
/usr/local/lib/php.ini
# cp/usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# /usr/local/php/bin/php--ini //测试ini文件是否加载
注:Nginx+PHP整合,在安装时必须启用–enable-fastcgi 和 –enable-fpm
5 环境测试,写一个phpinfo文件测试一下
Nginx服务器默认是没有支持字体的mime-type设置的,并且对.eot文件的mime-type也是不正确的。在配置文件夹下找到mime-type设置的地方。通常,在mimes.types文件下。搜索.eot,并在下它的设置下添加下面几行:
application/font-sfntotf ttf
application/font-woffwoff
application/font-woff2 woff2
application/vnd.ms-fontobjecteot
对于CORS headers 信息设置,添加下面的几行到你的vhost配置中:
location ~* \.(eot|otf|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)