linux系統下開發環境安裝與配置


安裝系統環境

CentOS 6.8 64位

jdk版本

7u80 64位

Tomcat版本

Tomcat7

maven版本

Apache Maven 3.6.0

vsftpd版本

vsftpd-2.2.2-24.el6.x86_64

Nginx版本

nginx-1.14.2

mysql版本

mysql-server-5.1.73-8.el6_8.x86_64

git版本

git version 2.18.0

阿里源配置

#備份
[root@192 yum.repos.d]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下載新的CentOS-Base.repo 到/etc/yum.repos.d/
[root@192 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
#生成緩存
[root@192 yum.repos.d]# yum makecache

設置開機時關閉防火牆

[root@192 vsftpd]# chkconfig iptables off

jdk安裝

下載

清理系統默認自帶jdk

[root@192 yum.repos.d]# rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64
java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
[root@192 yum.repos.d]# yum remove java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64
[root@192 yum.repos.d]# yum remove java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

授權

[root@192 soft]# chmod 777 jdk-7u80-linux-x64.rpm 

安裝

[root@192 soft]# rpm -ivh jdk-7u80-linux-x64.rpm 

默認安裝路徑/user/java

jdk配置環境變量,編輯/etc/profile文件,末尾追加

#jdk
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使得/etc/profile文件立即生效

[root@192 apache-maven-3.6.0]# source /etc/profile

Tomcat安裝

下載

解壓

[root@192 soft]# tar -zxvf apache-tomcat-7.0.93.tar.gz -C /opt/module/

Tomcat配置環境變量,編輯/etc/profile文件,末尾追加

#tomcat
export CATALINA_HOME=/opt/module/apache-tomcat-7.0.93
export PATH=$PATH:$CATALINA_HOME/bin


使得/etc/profile文件立即生效

[root@192 apache-maven-3.6.0]# source /etc/profile


配置UTF-8字符集,進入Tomcat安裝的conf文件夾,編輯server.xml文件,找到配置8080默認端口的位置,在xml節點末尾增加URIEncoding="UTF-8"

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />


啟動Tomcat,進入/opt/module/apache-tomcat-7.0.93/bin目錄,執行./startup.sh

訪問http://192.168.1.104:8080/

Maven安裝

下載

解壓

[root@192 soft]# tar -zxvf apache-maven-3.6.0-bin.tar.gz -C /opt/module/


Maven配置環境變量,編輯/etc/profile文件,末尾追加

#maven
export MAVEN_HOME=/opt/module/apache-maven-3.6.0
export PATH=$PATH:$MAVEN_HOME/bin


使得/etc/profile文件立即生效

[root@192 apache-maven-3.6.0]# source /etc/profile


驗證

[root@192 apache-maven-3.6.0]# mvn -version


vsftpd安裝

安裝

[root@192 apache-maven-3.6.0]# yum -y install vsftpd


查看是否已安裝

[root@192 apache-maven-3.6.0]# rpm -qa | grep vsftpd
vsftpd-2.2.2-24.el6.x86_64


默認配置文件/etc/vsftpd/vsftpd.conf

創建虛擬用戶

根目錄下創建ftp文件夾

[root@192 vsftpd]# cd /
[root@192 /]# mkdir ftpfile


添加匿名用戶

[root@192 /]# useradd ftpuser -d /ftpfile/ -s /sbin/nologin 


修改ftpfile權限

[root@192 /]# chown -R ftpuser.ftpuser /ftpfile/


重設ftpuser密碼

[root@192 /]# passwd ftpuser


將剛剛新增的虛擬用戶添加到此配置文件中

[root@192 ~]# cd /etc/vsftpd/
[root@192 vsftpd]# vim chroo_list 
[root@192 bin]# cat /etc/vsftpd/chroo_list 
ftpuser


編輯配置文件/etc/vsftpd/vsftpd.conf,末尾追加

local_root=/ftpfile
anon_root=/ftpfile
use_localtime=YES
anonymous_enable=no


登錄驗證的時候出現500提示,編輯/etc/selinux/config文件,設置SELINUX=disabled

[root@192 vsftpd]# vim /etc/selinux/config


如果還報500,執行

[root@192 vsftpd]# setsebool -P ftp_home_dir 1


設置開啟啟動vsftpd服務

[root@192 vsftpd]# chkconfig vsftpd on


訪問ftp://192.168.1.104/

安裝Nginx

下載

安裝依賴gcc、pcre、zlib、openssl

[root@192 vsftpd]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel


解壓

[root@192 soft]# tar -zxvf nginx-1.14.2.tar.gz -C /opt/module/


編譯安裝

[root@192 nginx-1.14.2]# pwd
/opt/module/nginx-1.14.2
[root@192 nginx-1.14.2]# ./configure
[root@192 nginx-1.14.2]# make
[root@192 nginx-1.14.2]# make install


查看Nginx安裝目錄、版本

[root@192 nginx-1.14.2]# whereis nginx
nginx: /usr/local/nginx
[root@192 nginx-1.14.2]# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.14.2


測試配置文件nginx.conf的正確性

[root@192 nginx-1.14.2]# /usr/local/nginx/sbin/nginx  -t


啟動Nginx

[root@192 nginx-1.14.2]# /usr/local/nginx/sbin/nginx
[root@192 nginx-1.14.2]# ps -ef | grep nginx
root       5606      1  0 01:02 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody     5607   5606  0 01:02 ?        00:00:00 nginx: worker process      
root       5626   2868  0 01:09 pts/0    00:00:00 grep nginx



停止Nginx

[root@192 nginx-1.14.2]# /usr/local/nginx/sbin/nginx -s stop


訪問http://192.168.1.104/

Nginx配置虛擬域名

配置虛擬域名映射

[root@192 vhost]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


#centos
#192.168.1.104  www.imooc.com
127.0.0.1 www.imooc.com


測試

[root@192 sbin]# ping www.imooc.com
PING www.imooc.com (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.013 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.032 ms


編輯/usr/local/nginx/conf/nginx.conf文件,追加

 ###########################vhost##############################################
    include vhost/*.conf;


/usr/local/nginx/conf目錄下,新建vhost文件夾

/usr/local/nginx/conf/vhost目錄下,新建域名轉發www.mytest.com.conf配置文件

[root@192 vhost]# cat /usr/local/nginx/conf/vhost/www.mytest.com.conf 
#Start www.mytest.com
server {
    listen 80;
    server_name  www.mytest.com;
 
    access_log  /usr/local/nginx/logs/access.log combined;
    index  index.html index.htm index.php;

    if ( $query_string ~* ".*[\;'\<\>].*" ){ 
	return 404;
     }

    # send request back to apach
    location / {
       proxy_pass http://127.0.0.1:8080/; 
   }
}


訪問www.mytest.com

Nginx配置靜態資源轉發

編輯/usr/local/nginx/conf/nginx.conf文件,追加

 ###########################vhost##############################################
    include vhost/*.conf;


/usr/local/nginx/conf目錄下,新建vhost文件夾

/usr/local/nginx/conf/vhost目錄下,新建域名轉發www.mytest.com.conf配置文件

[root@192 vhost]# cat /usr/local/nginx/conf/vhost/www.mytest.com.conf 
#Start www.mytest.com
server {
    listen 80;
    server_name  www.mytest.com;
 
    access_log  /usr/local/nginx/logs/access.log combined;
    index  index.html index.htm index.php;

    if ( $query_string ~* ".*[\;'\<\>].*" ){ 
	return 404;
     }

    # send request back to apach
    location / {
       root /ftpfile/; 
   }
}


mysql安裝

安裝

[root@192 ~]# yum -y install mysql-server


配置字符集,編輯/etc/my.cnf文件,追加

#utf8
default-character-set=utf8


設置mysql服務隨系統自動啟動

[root@192 ~]# chkconfig mysqld on
[root@192 ~]# chkconfig --list mysqld
mysqld         	0:關閉	1:關閉	2:啟用	3:啟用	4:啟用	5:啟用	6:關閉


啟動mysql服務

[root@192 ~]# service mysqld start
正在啟動 mysqld:                                          [確定]


登錄,使用非密碼登錄

[root@192 mysql]# mysql -uroot 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 


查看mysql的用戶

mysql> select user,host,password from  mysql.user;
+------+---------------+----------+
| user | host          | password |
+------+---------------+----------+
| root | localhost     |          |
| root | 192.168.1.104 |          |
| root | 127.0.0.1     |          |
|      | localhost     |          |
|      | 192.168.1.104 |          |
+------+---------------+----------+
5 rows in set (0.00 sec)


刪除匿名用戶

mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)


刷新,立即生效

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


修改root密碼

mysql> set password for root@localhost=password("000000");
Query OK, 0 rows affected (0.00 sec)


插入mysql新用戶

mysql> insert into mysql.user(Host,User,Password) values("localhost","admin",password("000000"));
Query OK, 1 row affected, 3 warnings (0.01 sec)


查看用戶權限

mysql> select * from mysql.user \G
*************************** 1. row ***************************
                 Host: localhost
                 User: root
             Password: *032197AE5731D4664921A6CCAC7CFCE6A0698693
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
          Reload_priv: Y
        Shutdown_priv: Y
         Process_priv: Y
            File_priv: Y
           Grant_priv: Y
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
         Show_db_priv: Y
           Super_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
         Execute_priv: Y
      Repl_slave_priv: Y
     Repl_client_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
     Create_user_priv: Y
           Event_priv: Y
         Trigger_priv: Y
             ssl_type: 
           ssl_cipher: 
          x509_issuer: 
         x509_subject: 
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
*************************** 2. row ***************************
                 Host: 192.168.1.104
                 User: root
             Password: 
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
          Reload_priv: Y
        Shutdown_priv: Y
         Process_priv: Y
            File_priv: Y
           Grant_priv: Y
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
         Show_db_priv: Y
           Super_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
         Execute_priv: Y
      Repl_slave_priv: Y
     Repl_client_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
     Create_user_priv: Y
           Event_priv: Y
         Trigger_priv: Y
             ssl_type: 
           ssl_cipher: 
          x509_issuer: 
         x509_subject: 
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
*************************** 3. row ***************************
                 Host: 127.0.0.1
                 User: root
             Password: 
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
          Reload_priv: Y
        Shutdown_priv: Y
         Process_priv: Y
            File_priv: Y
           Grant_priv: Y
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
         Show_db_priv: Y
           Super_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
         Execute_priv: Y
      Repl_slave_priv: Y
     Repl_client_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
     Create_user_priv: Y
           Event_priv: Y
         Trigger_priv: Y
             ssl_type: 
           ssl_cipher: 
          x509_issuer: 
         x509_subject: 
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
*************************** 4. row ***************************
                 Host: localhost
                 User: admin
             Password: *032197AE5731D4664921A6CCAC7CFCE6A0698693
          Select_priv: N
          Insert_priv: N
          Update_priv: N
          Delete_priv: N
          Create_priv: N
            Drop_priv: N
          Reload_priv: N
        Shutdown_priv: N
         Process_priv: N
            File_priv: N
           Grant_priv: N
      References_priv: N
           Index_priv: N
           Alter_priv: N
         Show_db_priv: N
           Super_priv: N
Create_tmp_table_priv: N
     Lock_tables_priv: N
         Execute_priv: N
      Repl_slave_priv: N
     Repl_client_priv: N
     Create_view_priv: N
       Show_view_priv: N
  Create_routine_priv: N
   Alter_routine_priv: N
     Create_user_priv: N
           Event_priv: N
         Trigger_priv: N
             ssl_type: 
           ssl_cipher: 
          x509_issuer: 
         x509_subject: 
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
4 rows in set (0.00 sec)


查庫,新建database數據庫

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.01 sec)
mysql> create database mytest default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| mytest             |
| test               |
+--------------------+
4 rows in set (0.00 sec)



本地用戶賦予所有權限、給賬號開通外網所有權限

mysql> grant all privileges on mytest.* to admin@'%' identified by '000000' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> grant select,delete,create on mytest.* to admin@'192.168.1.104' identified by '000000' with grant option;
Query OK, 0 rows affected (0.00 sec)


導入sql文件

mysql> source /opt/module/mmall.sql


git安裝

下載

解壓

[root@192 ~]# tar -zxvf git-2.18.0.tar.gz -C /opt/module/


安裝依賴

[root@192 ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker cpio


編譯安裝

[root@192 git-2.18.0]# make prefix=/usr/local/ install


驗證

[root@192 ~]# git --version
git version 2.18.0


生成公私密鑰對

[root@192 ~]# ssh-keygen -t rsa -C "782125244@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
85:1e:ef:5a:33:ab:e7:79:a4:46:f6:8e:8f:7f:af:cd 782125244@qq.com
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|         .       |
|        o .      |
|       . +       |
|        S .      |
|         .o .    |
|         o=+     |
|         o+Bo .o |
|        o=*=+..oE|
+-----------------+


復制公鑰粘貼到碼雲或者GitHub上SSH公鑰上

[root@192 .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1sZvTnjQyVn7r2C7G9Q/WyVTTmJYqWhQdVfh3tBCUX8kJHaAcThwR4sl8ROz6xXl/22wbzlsKtfsiyr5zrV0Ifnq7KuCeNVNUYjOQCTn+ODaRzdj7DYC4Mz9BvxZAr0MDfSbgpLp6ZLAvZlkP3DioOPda7VnfJSAHGEYztOVPITj31pVnP1nXkPZRQlsTwImXEGJpuU+zOaurMShpaukrY/ONxWHR6xlG5M1FgOLdBvEnlbhOFoME1HHziI4/08Xw/NrHIUhvjZZgkAzWUo5NvYZLEwrUjOPtlVxHbYwBEtgBWRgWLFMfTlxQnEJVKzbwUDPLvZWac9WSpGLx5xiww== 782125244@qq.com


配置用戶名、郵箱,提交時會引用

[root@192 mytest]# git config --global user.name "shenlibng"
[root@192 mytest]# git config --global user.email "782125244@qq.com"
[root@192 mytest]# git config --global core.autocrlf false
[root@192 mytest]# git config --global core.quotepath off
[root@192 mytest]# git config --global gui.encoding utf-8


開啟防火牆配置

查看防火牆初始化配置

[root@192 ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


開放Tomcat端口

重啟生效防火牆

[root@192 ~]# service iptables restart
iptables:將鏈設置為政策 ACCEPT:filter                    [確定]
iptables:清除防火牆規則:                                 [確定]
iptables:正在卸載模塊:                                   [確定]
iptables:應用防火牆規則:                                 [確定]


查看防火牆狀態

[root@192 ~]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
6    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination  



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM